Struts2标签<s:url>

来源:互联网 发布:ubuntu卸载cuda8.0 编辑:程序博客网 时间:2024/05/21 11:34

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