Struts2.18标签--s:url详解
<!--action就是struts2 action的名字,为url添加参数使用param标签-->
<s:url var="url" action="mainPage">
<s:param name="id" value="123"/>
</s:url>
<!--使用定义的url-->
<s:a href="%{url}">url</s:a>
该方法在生成的页面源码中生成如下代码
<a href="/NetBookShop_081029/mainPage?id=123">url</a>
下面是重点内容,我准备写这个标签的文章就是因为它
<!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get-->
<!--当该属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来-->
<!--当它的属性值为all时更是将get和post的的参数值全部添加到自身来-->
<!--一般我们并不需要额外的参数,所以定义为none-->
<!--就因为这个属性害的我浪费了好多时间-->
<s:url var="url" action="mainPage" includeParams="none">
<s:param name="id" value="123"/>
</s:url>
下边是另一个属性,不太重要,但还是说一说吧
<!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名-->
<!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下-->
<s:url var="url" action="mainPage" includeContext="false">
<s:param name="id" value="123"/>
</s:url>
生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名
<a href="/mainPage?id=123">url</a>
下面这个还是会用的上的
<!--method用于指定执行action的方法 这个等同于action="mainPage!ok"-->
<s:url var="url" action="mainPage" method="ok">
<s:param name="id" value="123"/>
</s:url>
最后一个有用的属性了
<!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->
<s:url var="url" action="mainPage" namespace="user">
<s:param name="id" value="123"/>
</s:url>
结果如下
<a href="user/mainPage?id=123">url</a>
<s:if test="userName==admin"></s:if>
<s:else></s:else>
对制定的数据进行判断,指定的数据必须存在action中.
<s:iterator>将List,Map,ArrayList等集合进行循环遍历
<s:iterator value="userList" id="user" status="u">
<s:property value="userName"/> //进行显示指定的属性值
</s:iterator>
<s:url>生成一个url地址,可以通过url标签制定的<s:param>子元素向URL地址发送请求参数
<s:url action=""> 指定请求地址
<s:param name="" value=""></s:param> 指定参数
</s:url>
超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。
<a href="<s:url action=" "><s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
</s:url>">
</a>