欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts2.18标签--s:url详解

程序员文章站 2022-03-10 17:40:44
...

<!--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>

相关标签: struts2