这个标签是用来创建一个URL,可以用<param>这个子标签来为URL添加请求参数,如果参数是一个数组或者集合,其中所有的值都会作为参数。
几个比较重要的属性:
action (String):action的名字,与value属性作用相同。两者同时存在时,value具有优先级。
value(String):这个属性需要和struts.xml中action的name一致。
method (String):action中具体的方法名,默认就是execute
includeParams (String):这个属性有三个值,none(默认)、get、all,none表示url不包含任何参数,但可以通过param子标签给url添加参数;get表示url中包含GET方式提交的参数,比如这个url标签所在的jsp页面是http://<host>:<port>/<context>/editUser.action?id=168&name=derek,但可以通过param子标签来覆盖,正如下面的example3那样,url就会变成http://<host>:<port>/<context>/editUser.action?id=1&name=derek ;post表示url中包含GET和POST两种请求方式的参数。
下面这些是struts2官网上面提供的3个小例子。
<-- Example 1 --> <s:url value="editGadget.action"> <s:param name="id" value="%{selected}" /> </s:url> <-- Example 2 --> <s:url action="editGadget"> <s:param name="id" value="%{selected}" /> </s:url> <-- Example 3--> <s:url includeParams="get"> <s:param name="id" value="%{'1'}" /> </s:url>然后接着搭配一个<s:a>标签,就非常nice了,比如
<s:a href="%{url}">derek实验室</s:a>就可以实现url,携带参数的跳转了~