天天看点

struct 的标签区别

1.<s:url id="url" action="HelloWorld"> <s:param name="request_locale">en</s:param> </s:url> 此段表示设置一个url标签指向名为HelloWorld的action,此标签带一个id取名为url,后面会用到。带一个参数request_locale,其值为en。点击不会有链接的。 2.<s:a href="%{url}" target="_blank" rel="external nofollow" >English</s:a> 此句用到了struts2的超链接标签,连接的地址即为1中url,点击English,发出的信息为:http://localhost:8080/StrutsHelloWorld/example    /HelloWorld.action?request_locale=en

3.使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有:

id: 可选属性,作为该Action的引用ID

name:必选属性,指定调用Action

namespace:可选属性,指定该标签调用Action所属namespace

executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.

ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数.

<s:action name="login" executeResult="true" namespace="/"></s:action>

传递参数

<s:action name="actinName" executeResult="true" namespace="/">

<s:param name="currentPage" value="传递的值"></s:param>

</s:action>

<s:param ></s:param>是以request方式的值的,而不是以参数传值

所以request.getParameter("")会获取不到值

通过request.getAttribute("")方式可以获取

另外:使用<s:param ></s:param> value指代的是action定义的对象的名称,而不是一个值