strust2 标签的使用

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,否包含上下文,也就是在url中的项目名

属性method用于指定执行action的方法 这个等同于action="mainPage!ok"

如: <s:url var="url" action="mainPage" method="ok">
            <s:param name="id" value="123"/>
        </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>

 

 s:iterator

标签有3个属性:
    value:被迭代的集合
    id   :指定集合里面的元素的id
    status 迭代元素的索引

1:jsp页面定义元素写法 数组或list

< s:iterator value="{'1','2','3','4','5'}" id='number'>
    <s:property value='number'/>A
</ s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
< s:iterator value="{'a','b','c'}" id='char' status='st'>
    <s:if test="#st.Even">
        现在的索引是奇数为:<s:property value='#st.index'/>
    </s:if>
    当前元素值:<s:property value='char'/>
</ s:iterator>
3:遍历map
value可以直接定义为:
value="#{"1":"a","2":"b"}"
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:
< s:iterator value="map" id="id" status="st">
     key : <s:property value='key'/>
     value:<s:property vlaue='value'/>
</ s:iterator>
当然key 和value 都可以使java 的 Object
3:遍历数据栈.简单的List类,
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
< s:iterator value="label" id="id">
    <s:property value="#id.attrName" />
</ s:iterator>
当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
4:遍历2个list;
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
这2个list的元素是一一对应的,一个attrN对应一个attrV
< s:iterator value="%{attrN }" id="id"   status="status">
index    is : <s:property value='status.index'/>
attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
attrName is : <s:property value='%{attrV[#status.index]}'/>
</ s:iterator

 


include标签

        <s:include value="include.jsp">

            <!-- 提交表单时才会获得value的值 -->
            <s:param name= "value1" >test1</s:param>
            <s:param name= "value2" value= "user" ></s:param>
        </s:include>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值