天天看点

Struts2标签的使用

通用标签 数据标签

 1、<s:property 

  value  输出的ognl表达式

  default  value为空时输出的内容

  escpeHtml 是否不转义为HTML

 >

 2、<s:debug/>  查看值栈以及Stack Context中

    能访问的值

 3、<s:date

  name  被格式化的值,(DATE类型)

  format  显示日期的格式

 >

 4、<s:set

  var  变量名

  value  设置给变量的值,可以是ognl

  scope  变量的生命周期

 >

 示例

 //=======================================

 <s:set var = "s" value="value"/>

 <s:property vlaue = "s"/>

  显示结果:value

 应用:一个对象在OGNL上访问层次较深,可以使用该标签

  定义为一个变量,保证多次引用时方便

 5、<s:url

  var  url的引用名称,如果指定,不生成字符串 

  action  要访问的Action的名字

  value  访问的目标,如果Action不提供,就用value作为URL的值

 > 

 示例

 //=======================================

 <s:url value="house" var ="u"/>

 //用#u引用,#u是一个字符串,加%{}变ognl表达式

 <s:a herf = "%{#u}"></s:a>

 应用:结合<s:a>结合使用,<s:url用来设置url>

       结合<s:a>结合使用,<s:url用来设置url>

 6、<s:param

  name:参数名称

  value:参数的值

 >

 示例

 //========================================

 <s:url value="" var="t">

  <s:param name="attr" value="value"/>

 </s:url>

 <s:a herf = "%{#t}"></s:a>

 在跳转的同时传值attr = value

 应用:不单独使用,作为其他标签的子标签,配合生成参数

 7、<s:include 把其他页面包含到当前页面上

  value 被引用的URL

 >

 动态包含

 总结

  1、ognl变字符串:加单引号

  2、字符串变OGNL,加%{}。

  3、去Stack Context中的值时,加#

  4、$用于XML中获取动态值

通用标签 控制标签

 <s:if>

 <s:elseif>

 <s:else>

 属性:test  OGNL表达式,返回boolean

 <i:itertor

  value   用来指明循环是谁

  id  用来引用被循环的对象

  status  返回当前各种信息

  >

  #status.count 集合含有的对象数

  #status.index 正在循环的这一项的索引

  #status.even 是否为偶数

  #status.odd 是否为奇数

 应用实例

  <s:iterator id="object" value="list" status="status">

   <s:if test="#status.even">

    <te bgcolor = "red">

   </s:if>

   <s:if test="#status.odd">

    <te bgcolor = "blue">

   </s:if>

    <td><s:property value="#object.attr1"/></td>

    <td><s:property value="#object.attr2"/></td>

    <td><s:property value="#object.attr3"/></td>

   </tr>

  </s:iterator>

UI标签

 用来生成Web界面,或者Web界面提供的功能支持

 基于膜瓣和主题实现的

 模板

  就是一些代码,在Struts通常用freeMarker编写的

  用于生成HTML

  在Struts2核心jar包的template中

 主题

  将一组共同风格和观感的组织到一起

  Struts2使用目录名作为主题名

  可以通过切换主题切换HTML风格

 Struts2内建主题

  文件夹位置:struts目录\template\

  simple/xhtml(默认)/css_xhtml/ajax

 修改主题,在struts中配置

  修改项目的主体:<constant name="struts.ui.theme" value="主题名,如:simple">

  修改一个标签的主题:加<theme = "主题名,如:simple">

 UI标签 struts标签    HTML标签

  <s:form>    form

   属性name,action,method

  <s:textfield>    input-text

   属性name,value,maxlength,readonly

  <s:textarea>    textarea

   属性name,value,cols,rows,readonly

  <s:submit>

  <s:select>

   属性 name  下拉框名称

    list  生成下拉框的集合

    listKey  生成选项value的属性

    listValue 生成选项显示的文字

  <s:doubleselect>

   属性 name  第一个下拉框的名字

    list  第一个下拉框的集合

    listKey  第一个下拉框的value

    listValue 第一个下拉框的显示

    doublename 第二个下拉框的名字

    doublelist 第二个下拉框的集合

    doublelistKey 第二个下拉框的value

    doublelistValue 第二个下拉框的显示

   例如省市

   第一层用Map< 省,list<市> >,

   第二层用List<市>

   <s:doubleselect name="" list="map.getSet()" lisetKey="省.id" listValue="省.name"

    doublename = "" list="map.get(top) doublelistKey="市.id" doublelistValue="市.name">

    map.get(top)中top表示第一个下拉菜单选中的值

  Ajax标签,需要导入struts2-dojo-plugin的jar包

  <datetimepicker>

   属性 name  名称

    label  用来显示组件的文本

  使用步骤:

   //引入jar包

   <%@taglib uri = "/struts-dojo-tags" prefix="sx"%>

   //生成效果、CSS、Js

   <sx : head parseContent = "true">

   //生成日期标签

   <sx : datetimepicker name="" lable="">

继续阅读