• struts1 logic标签的使用


    struts标签使用举例-logic

    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标签<logic:equal中value应用server端值,写法:

    Action代码:

    request.setAttribute("device_name", deviceName);

    JSP代码:

    <logic:iterate id="DevicesBean" name="windowsDetailForm" property="deviceNameList">
         
         <option value="<bean:write name='DevicesBean' property='deviceName' />" <logic:equal name="DevicesBean" property="deviceName" value="<%=device_name%>">selected</logic:equal>>
          <bean:write name="DevicesBean" property="deviceName" />
         </option>
        </logic:iterate>

  • 相关阅读:
    Asp.net core中间件实现原理及用法解说
    C#中,async关键字到底起什么作用?
    C# 中的Async 和 Await 的用法详解
    .NET委托,事件和Lambda表达式
    docker push到私有仓库 docker push 镜像到harbor
    shell tput的用法
    Shell中获取脚本的绝对路径$( cd "$( dirname "$0" )" && pwd)
    shell脚本中 "set -e" 的作用
    从旧goadddy账号转移域名到新的goaddy账号中
    git制作patch的步骤
  • 原文地址:https://www.cnblogs.com/duanxz/p/2611460.html
Copyright © 2020-2023  润新知