logic:iterate(2)

 
  1. Logic比较标记
  2. 在Logic标记库中有以下六个比较标记:
  3. <logic:equal>:判断变量是否与指定的常量相等。 
  4. <logic:notEqual>:判断变量是否与指定的常量不相等。 
  5. <logic:greaterThan>:判断变量是否大于指定的常量。 
  6. <logic:greaterEqual>:判断变量是否大于等于指定的常量。 
  7. <logic:lessThan>:判断变量是否小于指定的常量。 
  8. <logic:lessEqual>:判断变量是否小于等于指定的常量。 
  9. 从标记的名称中可以看出它们各自的功能。以下是一个简单的程序小示例:
  10. <%
  11.     pageContext.setAttribute("test1",new Integer(10000));
  12. %>
  13. <logic:equal name="test1" value="10000">
  14. 变量test1等于10000。
  15. </logic:equal>
  16. 上面的代码首先在pageContext内存入一个整型变量,命名为test1。然后使用<logic:equal>标记把test1变量和常量值 10000进行比较,如果比较值为真,则显示"变量test1等于10000"的字符串。可以看出,在<logic:equal>标记中使用value 属性来指定常量值,使用name属性指定一个已经在某个范围内存在的变量,这个范围可以是pageContext,request等。运行效果如下所示:
  17. 变量test1等于10000。 
  18. Logic标记库的六个比较标记的属性具有基本相同的含义,如上面提到的value属性,它总是代表一个常量,用来作为比较的参照。以下是几个通用的属性介绍:
  19. header属性:它的值表示HTTP请求中的header信息,以下是一个使用header的例子。
  20. <logic:equal header="host" value="localhost:8080">
  21. 主机地址为localhost:8080
  22. </logic:equal>
  23. 上面的代码从HTTP请求中读出host信息,与value属性所指定的值进行比较,当相同时同输出"主机地址为localhost:8080"的信息。下面是运行效果:
  24. 主机地址为localhost:8080 
  25. parameter属性:它的值表示HTTP请求中的请求参数名,以下是一个使用parameter参数的例子。
  26. <html:link page="/logic-compare.jsp?testInt=12345">添加参数</html:link>
  27. <logic:greaterThan parameter="testInt" value="10000">
  28. 参数testInt的值比10000大。
  29. </logic:greaterThan>
  30. 上面的代码首先设置了一个链接,该链接依然链回相同的页面,只不过在页面后面添加了参数testInt并令其值为12345。接下来使用<logic:greaterThan>标记来判断testInt这个请求参数的值是否大于10000,如若比10000大,则显示"参数testInt的值比10000大" 这样的字符串。其中parameter属性来指定"testInt"这个请求参数。运行效果如下所示,用户首先点击"添加参数"的链接为页面添加参数就可以看到标记的效果了。
  31. 添加参数
  32. 参数testInt的值比10000大。 
  33. cookie属性:它的值表示一个cookie的name。以下是一个使用cookie参数的例子。
  34. <%
  35. javax.servlet.http.Cookie newcookie = new javax.servlet.http.Cookie("cookiename","cookievalue");
  36. newcookie.setComment("new Cookie");
  37. newcookie.setMaxAge(3600);
  38. response.addCookie(newcookie);
  39. %>
  40. <logic:equal cookie="cookiename" value="cookievalue">
  41. 存入的Cookie的name是cookiename,value是cookievalue。
  42. </logic:equal>
  43. 上面的代码首先定义了一个name为"cookiename",value为"cookievalue"的Cookie对象,并将其存入response中。接下来使用 cookie参数来指定该对象,并判断它的值是否为cookievalue。倘若相等,则显示"存入的Cookie的name是cookiename,value是 cookievalue"的字符串。用户第一次访问该页面是,该Cookie不存在,所以并不会显示上述字符串。而需要用户关闭浏览器再次访问时,才可以看到。运行效果如下所示:
  44. 存入的Cookie的name是cookiename,value是cookievalue。 
  45. name属性:该属性指定一个已经存在于某范围内的变量和value属性所指定的值进行比较。以下是一个例子:
  46. <%
  47. pageContext.setAttribute("test2","aaaab");
  48. %>
  49. <logic:lessThan name="test2" value="aaaac">
  50. 字符串"aaaab""aaaac"小。
  51. </logic:lessThan>
  52. 上面的代码首先在pageContext对象内存入一个字符串"aaaab",并命名为test2。然后使用name属性指定该变量,并将它与字符串 "aaaac"进行比较,如果比它小,则输出相应字符串。以下是运行效果:
  53. 字符串"aaaab""aaaac"小。 
  54. 当使用name属性时,如果指定的变量并不是一个字符串,而是一个JavaBean,则还需要一个property属性和其配合使用。该property 属性指定了JavaBean的某个属性,然后将该属性的值与value属性所指定的常量进行比较。如下面的代码:
  55. <%
  56.     TestPageBean testbean = new TestPageBean("testname","testvalue");
  57.     pageContext.setAttribute("test3",testbean);
  58. %>
  59. <logic:lessEqual name="test3" property="name" value="testname">
  60. TestPageBean对象的name属性的值小于等于"testname"
  61. </logic:lessEqual>
  62. 以下是运行效果:
  63. TestPageBean对象的name属性的值小于等于"testname"。 
  64. 这里有一点值得注意,就是当相比较的两个字符串都可以转化为数字时,则按数字的大小来比较,当无法转成数字时,才按字符串进行比较。以下是一个例子
  65. <%
  66.     pageContext.setAttribute("a1","10000");
  67. %>
  68. <logic:greaterThan name="a1" value="9999.00">
  69. 10000比9999.00大
  70. </logic:greaterThan>
  71. <logic:lessThan name="a1" value="9999.00t">
  72. "10000""9999.00t"
  73. </logic:greaterThan>
  74. 上面的代码将一个字符串"10000"存入pageContext对象中,然后将其先后与"9999.00""9999.00t"两个字符串作比较。可以看出当"10000""9999.00"作比较时是将之做为数字来进行的,而与"9999.00t"比较时,因为无法将其转成数字,则按字符串比较。以下是运行效果:
  75. 10000比9999.00大 
  76. "10000""9999.00t"小 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我就是靠这个文档实现logic:iterate的循环的<br>struts 标签 logic:iterate使用 logic:iterate<br><br>第一页 是struts官方的说明,<br>第二页 是个例子<br>第三页 是我实现的arrayList放入标签的方法。<br>这是页面文件<br><%@ page language="java"<br> import="java.util.*,cn.edu.bit.zgc2d.accountQuery.*" pageEncoding="GBK"%><br><%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"<br> prefix="bean"%><br><%@ taglib uri="http://jakarta.apache.org/struts/tags-html"<br> prefix="html"%><br><%@ taglib uri="http://jakarta.apache.org/struts/tags-logic"<br> prefix="logic"%><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br><html><br> <head><br> </head><br> <body><br> <table><br> <tr><br> <td><%@ include file="../menu.txt"%><br> </td><br> </tr><br> </table><br> <table width=800><br> <tr><br> <td height=100 width=30><br> <img src=../images/small_2.gif><br> </td><br> <td><br> 账务查询<br> <br><br> 基本信息查询。<br> </td><br> </tr><br> </table><br> <table width=800><br> <tr><br> <td height=1 width=700 bgcolor=gray colspan=2></td><br> </tr><br> </table><br> <table width=800><br> <tr><br> <td height=100 width=30><br> <img src=../images/small_2.gif><br> </td><br> <td><br> 基本信息查询。<br> </td><br> </tr><br> </table><br> <table><br> <tr><br> <td WIDTH=100 bgcolor=#bfbfbf><br> 帐号<br> </td><br> <td WIDTH=100 bgcolor=#bfbfbf><br> 帐户别名<br> </td><br> <td WIDTH=100 bgcolor=#bfbfbf><br> 是否为主帐户<br> </td><br> </tr><br> <logic:iterate id="item" name="list" indexId="index"><br> <tr><br> <td WIDTH=100 bgcolor=F2F2F2><br> <a href="www.sina.com.cn?abc=<bean:write name="item" property="account" />"><bean:write name="item" property="account" /><br> </td><br> <td WIDTH=100 bgcolor=F2F2F2><br> <bean:write name="item" property="other_name" /><br> </td><br> <td WIDTH=100 bgcolor=F2F2F2><br> <bean:write name="item" property="is_main_account" /><br> </td><br> </tr><br> </logic:iterate><br> </table><br> </body><br></html><br>这是action<br>public class InformationAction extends Action {<br> public ActionForward execute(ActionMapping mapping, ActionForm form,<br> HttpServletRequest request, HttpServletResponse response) {<br> InformationForm informationForm = (InformationForm) form;// TODO Auto-generated method stub<br> //业务开始<br> Connection conn = null; Statement st = null; ResultSet rs = null;<br> try {<br> db db = new db();<br> // 打开数据库<br> conn = db.conn();<br> // 创建st<br> st = conn.createStatement();<br> // 组织sql并执行<br> HttpSession session_account = request.getSession();<br> String account = (String) session_account.getAttribute("account");<br> String sql = "select * from account where main_account=" + account<br> + "order by is_main_account desc";<br> rs = st.executeQuery(sql);<br> // 组建arrayList列表<br> ArrayList list = new ArrayList();<br> while (rs.next()) {<br> accountBean bean = new accountBean();<br> bean.setArea(rs.getString("area")); bean.setKind(rs.getInt("kind")); bean.setAccount(rs.getString("account")); bean.setMain_account(rs.getString("main_account")); bean.setType(rs.getInt("type")); bean.setOther_name(rs.getString("other_name")); bean.setPassword(rs.getString("password")); bean.setIs_main_account(rs.getInt("is_main_account")); bean.setMoney(rs.getString("money")); bean.setId(rs.getInt("id"));<br> list.add(bean);<br> }<br> HttpSession session = request.getSession();<br> session.setAttribute("list", list);<br> return mapping.findForward("success");<br> } catch (Exception e) { e.printStackTrace(); } <br> //业务结束<br> return null;<br> }<br>}//自己将需要的包导入<br>bean文件<br>package cn.edu.bit.zgc2d.accountQuery;<br><br>public class accountBean {<br> private String area;<br> private int kind;<br> private String account;<br> private String main_account;<br> private int type;<br> private String other_name;<br> private String password;<br> private int is_main_account;<br> private String money;<br> private int id;<br> public String getArea() {<br> return area;<br> }<br> public void setArea(String area) {<br> this.area = area;<br> }<br> public int getKind() {<br> return kind;<br> }<br> public void setKind(int kind) {<br> this.kind = kind;<br> }<br> public String getAccount() {<br> return account;<br> }<br> public void setAccount(String account) {<br> this.account = account;<br> }<br> public String getMain_account() {<br> return main_account;<br> }<br> public void setMain_account(String main_account) {<br> this.main_account = main_account;<br> }<br> public int getType() {<br> return type;<br> }<br> public void setType(int type) {<br> this.type = type;<br> }<br> public String getOther_name() {<br> return other_name;<br> }<br> public void setOther_name(String other_name) {<br> this.other_name = other_name;<br> }<br> public String getPassword() {<br> return password;<br> }<br> public void setPassword(String password) {<br> this.password = password;<br> }<br> public int getIs_main_account() {<br> return is_main_account;<br> }<br> public void setIs_main_account(int is_main_account) {<br> this.is_main_account = is_main_account;<br> }<br> public String getMoney() {<br> return money;<br> }<br> public void setMoney(String money) {<br> this.money = money;<br> }<br> public int getId() {<br> return id;<br> }<br> public void setId(int id) {<br> this.id = id;<br> }<br>}<br>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值