`
sun201200204
  • 浏览: 303158 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts标签使用举例-logic

    博客分类:
  • j2ee
阅读更多
发现平时写界面,都用到很多的<%%>,感觉很不爽,整理一下Struts的标签,以备以后查阅;

1. logic:empty
          该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:

         1)当Java对象为null时;
         2)当String对象为""时;
         3)当java.util.Collection对象中的isEmpty()返回true时;
         4)当java.util.Map对象中的isEmpty()返回true时。

          eg.
          
 < logic:empty   name="userList">   
              ...   
           < /logic:empty> 

           该句等同于:
          
if   (userList.isEmpty())   {   
                 ...   
           }   

   2.  logic:notEmpty
          该标签的应用正好和logic:empty标签相反,略。
   3. logic:equal
      该标签为等于比较符。
      eg1. 比较用户的状态属性是否1,若为1,输出"启用";
         
< logic:equal   name="user"   property="state"   value="1">
          启用
         < /logic:equal>

     eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。
         
< logic:equal   name="charge"   property="num"   value="${business.num}">   
                    ......
         < /logic:equal>

    4. logic:notEqual
          该标签意义与logic:equal相反,使用方法类似,略。
    5. logic:forward
          该标签用于实现页面导向,查找配置文件的全局forward。
          eg.
< logic:forward name="index"/>

    6. logic:greaterEqual
          为大于等于比较符。
          eg. 当某学生的成绩大于等于90时,输出“优秀”:
              
< logic:greaterEqual name="student" property="score" value="90">
                  优秀
            < /logic:greaterEqual>

    7. logic:greaterThan
          此为大于比较符,使用方法同logic:greaterEqual,略;
    8. logic:lessEqual
          此为小于等于比较符,使用方法同logic:greaterEqual,略;
    9. logic:lessThan
          此为小于比较符,使用方法同logic:greaterEqual,略;
    10. logic:match
          此标签比较对象是否相等;
          eg1. 检查在request范围内的name属性是否包含"amigo"串:
          
 < logic:match name="name" scope="request" value="amigo">
                  < bean:write name="name"/>中有一个“amigo”串。
            < /logic:match>

         eg2. 检查在request范围内的name属性是否已“amigo”作为起始字符串:
          
< logic:match name="name" scope="request" value="amigo" location="start">
               < bean:write name="name"/>以“amigo”作为起始字符串。
            < /logic:match>

         eg3.
           
< logic:match header="user-agent" value="Windows">
               你运行的是Windows系统
            < /logic:match>

    11.  logic:notMatch



          此标签用于比较对象是否不相同,与logic:match意义相反,使用方法类似,略。
     12. logic:messagePresent
          该标签用于判断ActionMessages/ActionErrors对象是否存在;
          eg. 如果存在error信息,将其全部输出:
             
 < logic:messagePresent property="error"> 
                  < html:messages property="error" id="errMsg" > 
                        < bean:write name="errMsg"/> 
                  < /html:messages>   
               < /logic:messagePresent >

     13. logic:messagesNotPresent
          该标签用于判断ActionMessages/ActionErrors对象是否不存在,使用方法与logic:messagePresent类似,略
      14. logic:present
           此标签用于判断request对象传递参数是否存在。
           eg1. user对象和它的name属性在request中都存在时,输出相应字符串:
             
< logic:present name="user" property="name">
                  user对象和该对象的name属性都存在
            < /logic:present> 

          eg2. 若有一个名字为“user”的JavaBean,输出对应字符串:
           
 < logic:present name="user" >
                  有一个名字为“user”的JavaBean。
            < /logic:present>

          eg3.
           
< logic:present header="user-agent">
                  we got a user-agent header.
            </logic:present>

      15. logic:notPresent
           此标签用于判断request对象传递参数是否不存在,意义与了logic:present相反,使用方法类似,略。
      16. logic:redirect
           该标签用于实现页面转向,可传递参数。
           eg1.
< logic:redirect href="http://www.chinaitlab.com"/>

      
       17. logic:iterator
            用于显示列表为collection的值(List ,ArrayList,HashMap等)。
            eg1. 逐一输出用户列表(userlList)中用户的姓名:
              
<logic:iterate  id="user" name="userList">
                  < bean:write name="user" property="name"/>< br>
               </logic:iterate>

            eg2. 从用户列表中输出从1开始的两个用户的姓名
              
<logic:iterate  id="user" name="userList" indexId="index"  offset="1" length="2">
                  <bean:write name="index"/>.<bean:write name="user" property="name"/>< br>
               </logic:iterate>

            eg3. logic:iterator标签的嵌套举例
<logic:iterate id="user" indexId="index" name="userList">
  <bean:write name="index"/>. 
  <bean:write name="user" property="name"/><br/>
  <logic:iterate id="address" name="user" property="addressList" length="3" offset="1">
    <bean:write name="address"/><br/>
  </logic:iterate>
</logic:iterate>
分享到:
评论

相关推荐

    Struts标签库学习.rar

    接着,"struts标签使用举例--logic篇.doc"涵盖了Struts Logic标签库。Logic标签库主要用于控制流程,处理页面跳转和条件判断。比如,`&lt;logic:iterate&gt;`标签可以遍历集合,`&lt;logic:equal&gt;`和`&lt;logic:notEqual&gt;`用于...

    struts1标签的使用说明及举例.doc

    以下是对Struts1标签库的详细说明和使用举例: 1. **HTML标签库**: - `html:base`:设置页面的基础URL,用于构造相对链接的绝对地址。 - `html:cancel`:创建一个取消按钮,点击后不会执行validate()方法,而是...

    Java Struts教程(免费)

    - **Struts 标记库**(Tag Library):提供了一系列丰富的自定义标签,简化了 JSP 页面的开发。 - **BeanUtils**:用于操作 JavaBean 的工具类。 - **Collections**:提供集合操作的方法。 - **Digester**:用于解析...

    ValidatorForm举例

    接着,创建一个对应的HTML表单页面,使用Struts标签库(struts-tiles或struts-logic)来渲染表单元素。同时,还需要在struts-config.xml中配置ActionForm,指定其对应的类名以及Action。 验证规则通常在 validation...

    Struts开发配置详细说明(v1.0).doc

    - 引入Struts标签库:`&lt;%@taglib&gt;`指令用于引入Struts的标签库,如bean、html、logic。 - 页面头部:指定页面编码、声明HTML,使用`&lt;bean:message&gt;`从外部资源文件获取页面标题。 - 表单编写:创建一个HTML表单,...

    struts2月考试卷A.docx

    - **业务逻辑层(Business Logic Layer)**:处理业务逻辑。 - **数据访问层(Data Access Layer)**:负责数据存取。 **区别总结:** - **关注点不同**:MVC更加关注于组件之间的解耦,而三层架构更注重于系统结构的...

    java面试之SSH题.pdf

    5. Nested标签库,增强对其他Struts标签的嵌套使用。 【Tiles框架】 Tiles是一个页面布局框架,它允许开发者将Web页面分解为可重用的部分(称为“tiles”),通过模板机制组合成完整页面,实现页面布局与内容的分离...

Global site tag (gtag.js) - Google Analytics