s:url标签用于动态生成url
<span style="white-space:pre"> </span><s:url value="/testUrl" var="url1"> </s:url>
<span style="white-space:pre"> </span>${url1 }
jsp 中的这段代码。 在页面会以 如下形式显示
/struts2-6/testUrl
var属性用于标示。
再看如下
url 标签<br><br>
<s:url value="/testUrl" var="url1">
<s:param name="name" value="name"></s:param>
</s:url>
${url1 }
页面显示为
/struts2-6/testUrl?name=helloworld
s:param中的 value自动进行ongl解析 讲值栈中的 name取出 放入url中
若不想让value中的值进行解析,要用单引号括起来,就不会进行ongl解析。
另外还可以在url 中增加namespace属性以及 method属性 以及action属性
<s:url action="testUrl" var="url2" namespace="/hello" method="execute">
</s:url>
jsp中显示如下
/struts2-6/hello/testUrl!execute.action
ps:xxxAction!xxx 在struts2中表示调用某一个指定的方法,在2.3中已经默认关闭。
最后
<s:url value="testUrl" var="url3" includeParams="get">
</s:url>
${url3}
可以加入 includeParames属性,属性有三个值,分别为 get all none(默认)
例如我的请求为
http://localhost:8080/struts2-6/testTag?name=sss
则jsp显示为
testUrl?name=sss
如果参数为all , 则支持post请求