Struts2_学习笔记(八)----Struts-tags

一、通用标签

1、 property

propertyvalue类型为Object

username作为OGNL表达式:<s:property value="username"/>

取值为字符串: <s:property value="'username'"/>

       设定默认值: <s:property value="admin"default="管理员"/>

设定HTML,默认escapetrue: <s:property value="'<hr/>'" escape="false"/>

2、 set

设定adminName值(默认放到request ActionContext: <s:set var="adminName"value="username" />

request取值: <s:property value="#request.adminName"/>

ActionContext取值: <s:property value="#adminName"/>

设定var,范围为sessionActionContext中没有adminPassword: <s:set var="adminPassword"value="password" scope="session"/>

        使用#无法取值: <s:property value="#adminPassword"/>

从相应范围取值: <s:property value="#session.adminPassword"/>

3、 bean

在<s:bean>中只有设置var的值,在ActionContext中与var的值相对应的项

<s:param>中的value=”xxx”时会将xxx解析为ognl表达式,如果要设定name的值为字符串应将value=”’xxx’”

           <s:bean name="com.bjsxt.struts2.tags.Dog"var="myDog">

              <s:param name="name"value="'oudy'"></s:param>

           </s:bean>

           拿出值:<s:property value="#myDog.name"/>

              如果不设置var,那在bean标签内部,会在Value Stack中new 一个com.bjsxt.struts2.tags.Dog对象,可以再bean中使用<s:property>取值,在bean外不能去到相应值。

<s:bean name="com.bjsxt.struts2.tags.Dog" >

           <s:param name="name"value="'pp'"></s:param>

           <s:property value="name"/>

       </s:bean>

4、 include(很少使用,主要说明%的使用方法)

包含静态英文文件

       <s:include value="/_include1.html"></s:include>

       包含静态中文文件

       <s:include value="/_include2.html"></s:include>

        包含静态英文文件,%用法--%将原本的文本属性解析为ognl,对于本来就是ognl的属性不起作用

       <s:set var="incPage"value="%{'/_include1.html'}" />

    <s:include value="%{#incPage}"></s:include>

       5、fielderror

              fielderror的theme存在问题,设置成simple后还是存在格式

<s:fielderrorfieldName="fielderror.test"theme="simple"></s:fielderror>

二、控制标签

1if,elseif,else

age = <s:propertyvalue="#parameters.age[0]"/><br />

       <s:setvar="age"value="#parameters.age[0]"/>

       <s:iftest="#age < 0">wrong age!</s:if>

       <s:elseiftest="#parameters.age[0]< 20">too young!</s:elseif>

       <s:else>yeah!</s:else>

       2、iterator

       a遍历集合

<s:iteratorvalue="{1, 2,3}">

           <s:property/> |

       </s:iterator>

       结果: 1 | 2 | 3 |

              b)自定义变量:

              <s:iteratorvalue="{'aaa','bbb', 'ccc'}"var="x">

           <s:propertyvalue="#x.toUpperCase()"/> |

       </s:iterator>

              结果:AAA| BBB | CCC |

              c)使用status:

       <s:iteratorvalue="{'aaa','bbb', 'ccc'}"status="status">

           <s:property/> |

           遍历过的元素总数:<s:propertyvalue="#status.count"/> |

           遍历过的元素索引:<s:propertyvalue="#status.index"/> |

           当前是偶数?:<s:propertyvalue="#status.even"/> |

           当前是奇数?:<s:propertyvalue="#status.odd"/> |

           是第一个元素吗?:<s:propertyvalue="#status.first"/> |

           是最后一个元素吗?:<s:propertyvalue="#status.last"/>

       </s:iterator>

       d)遍历MAP:

定义MAP必须要在开始加 #

<s:iteratorvalue="#{1:'a', 2:'b', 3:'c'}" var="x">

           <s:propertyvalue="#x.key"/> | <s:propertyvalue="#x.value"/>

            </s:iterator>

           或者 :<s:propertyvalue="key"/> | <s:propertyvalue="value"/>

       3、subset 取特定长度的字符串

<s:subset source="myList"count="13" start="3">

       <s:iterator>

      <s:property />

    </s:iterator>

 </s:subset>

三、UI标签

Theme:simple xhtml(默认) css_xhtmlajax

定义自己的UI标签

1.        css(覆盖struts2原来的css)

2.        覆盖单个文件

3.        定义自己的theme

4.        实战:

a)        把所有主题定义为simple

b)        fielderror特殊处理

c)        自己控制其他标签的展现

 

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值