Struts2---Struts-Tags

1.通用标签

>property

>set

>bean

>include

>param

>debug

<h1>property标签</h1>
    property-name:<s:property value="user.name"/><br />
    property-String:<s:property value="'name'"/><br />
    property-age:<s:property value="user.age"/><br />
    property-default:<s:property value="admin" default="lisi"/><br /><!-- 如果值栈中不存在该变量,那么该变量的默认值为“lisi” -->
    property-escape:<s:property value="'<hr/>'" escape="false"/><br /><!-- 不转义,由浏览器正常解析,显示出一条横线。。 -->
<h1>set标签</h1>
   设置adminName的值<s:set var="adminName" value="user.name" /><br /><!-- value的值是OGNL对象,不是字符串!!set标签将设置的变量既放到了request域中,又放到了ActionContext中,这是默认的scope. -->
   获取request中adminName的值:<s:property value="#request.adminName"/><br /><!-- 注意一点是debug下并没有看到request中有adminName的值,这是因为在还没有来得及将adminName的值放进request中时,debug标签的内容已经形成了。-->
   获取ActionContext中adminName的值:<s:property value="#adminName"/><br />
   <!-- set标签中还有一个scope属性, 如果设置了scope,则往scope指定的作用域中 ,而不会放在ActionContext中。ActionContext感觉跟request作用域差不多。。-->
<h1>bean标签</h1>
   <!--  定义bean并使用param来设定新的属性值  -->
   <s:bean name="com.struts2.Domain.User" var="user1">
   <s:param name="name" value="'wangwu'"></s:param><!-- value中的值为OGNL对象,如果想赋值为字符串需要使用''来把值括起来。 -->
   <s:param name="age" value="'34'"></s:param>
   <s:debug></s:debug>
   </s:bean>
<h1>include标签</h1><!--简单,但不推荐使用-->
   <s:set var="incPage" value="'/hello.html'"></s:set>
   <s:include value="%{#incPage}"></s:include><!-- %{}是将大括号里面的内容强制转换为OGNL对象,而不是字符串 -->
      
   <s:debug></s:debug>


2.控制标签

>if elseif else

>iterator

   <>collections map enumeration iterator array

>subset:参考帮助文档

<h1>if elseif else</h1>
  	<s:set var="age" value="user.age"></s:set>
  	<s:property value="#age"/><br />
  	<s:if test="#age<0">wrong age</s:if>
  	<s:elseif test="#age<20">too young</s:elseif>
  	<s:else>Mr.right</s:else>
<hr />
      <h1>iterator标签</h1>
      <h2>遍历集合</h2>
      <s:iterator value="{1,2,3}">
          <s:property/> |<!-- 不用写value属性。 -->
      </s:iterator>
      <h2>自定义变量</h2>
      <s:iterator value="{'aaa','bbb','ccc'}" var="x">
          <s:property value="#x.toUpperCase()"/> |
      </s:iterator>
      <h2>使用status</h2>
      <s:iterator value="{'aaa','bbb','ccc'}" status="status">
          <s:property/> |
          遍历过的元素总数:<s:property value="#status.count"/> |
          遍历过的元素索引:<s:property value="#status.index"/>
          当前是偶数?:<s:property value="#status.even"/>
          当前是奇数?:<s:property value="#status.odd"/>
          是第一个元素吗?:<s:property value="#status.first"/>
          是最后一个元素吗?:<s:property value="#status.last"/>
          <br />
      </s:iterator>
      <hr />
      <h1>遍历map</h1>
      <s:iterator value="#{1:'a',2:'b',3:'c'}">
          <s:property value="key"/> | <s:property value="value"/> <br />
      </s:iterator>
      <br />
      
      <s:iterator value="#{1:'a',2:'b',3:'c'}" var="x">
          <s:property value="#x.key"/> | <s:property value="#x.value"/> <br />
      </s:iterator>
      <s:debug></s:debug>


3.UI标签:真正开发中用的不太多。

>theme

   <>simple xhtml(默认) css_shtml ajax

4.ajax标签

这里不再叙述,一般用ajax原始API,没有必要使用包装后的ajax。

5.$#%的区别

>$用于i18n(国际化)和struts配置文件,也是可以在jsp页面中获取值栈中的值。

>#用来取得ActionContext中的值。

>%将原来的文本属性解析为ognl,对于本来就是ognl的属性不起作用。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值