框架学习之struts2-03标签、OGNL表达式
来源:互联网 发布:mac休眠后继续下载吗 编辑:程序博客网 时间:2024/05/21 08:46
struts2的常用标签
- if else 标签
- 集合的拼接标签:
<div> <s:set var="scoresGroup1" value="{97, 98, 56, 67}" /> <s:set var="scoresGroup2" value="{96, 88, 91}" /> <s:append var="scoresAll"> <s:param value="#scoresGroup1" /> <s:param value="#scoresGroup2" /> </s:append> <s:iterator value="#scoresAll"> <s:property /> </s:iterator> <br > <s:merge var="scoresAll2"> <s:param value="#scoresGroup1" /> <s:param value="#scoresGroup2" /> </s:merge> <s:iterator value="#scoresAll2"> <s:property /> </s:iterator> </div>
- 集合的生成标签:
<% StudentConverter converter = new StudentConverter(); request.setAttribute("myStudentConverter", converter);%><s:generator separator="," converter="#request.myStudentConverter" val="'S1013#张三#24#男,S1014#李四#23#女,S1015#王五#25#男'" var="stus" /><s:iterator value="#stus" var="stu"> 学号:${ stu.sno },姓名:${ stu.name }<br></s:iterator>
- iterator标签:
<s:set var="count" value="1" /> <table border="1"> <tr> <td width="150">图书</td> <td width="100">价格</td> <td width="100">分类</td> </tr> <s:iterator value="#books.{? #this.price lt 100}" var="b" status="sta"> <tr style="background-color: ${sta.odd ? 'pink' : 'yellow'}"> <td width="150">${pageScope.count }:《${ b.title }》</td> <td width="100">¥${b.price }</td> <td width="100">${ b.category.name }</td> </tr> <s:set var="count" value="#count + 1" /> </s:iterator> </table>
OGNL表达式
- 举例说明
public void testOnglBasic() throws OgnlException { Map<String, Object> context = new HashMap<String, Object>(); List<Book> list = new ArrayList<Book>(); list.add(new Book(1001, "西游记", "无尘恩", 56.0, "人民教育出版社", "xyj.png", new Category(1, "小说"))); list.add(new Book(1002, "红楼梦", "曹雪芹", 98.0, "清华大学出版社", "xyj.png", new Category(1, "小说"))); list.add(new Book(1090, "水浒传", "施耐庵", 105.0, "人民教育出版社", "xyj.png", new Category(1, "小说"))); list.add(new Book(1078, "三国演义", "罗贯中", 28.5, "清华大学出版社", "xyj.png", new Category(1, "小说"))); Book book = new Book(1001, "西游记", "无尘恩", 56.0, "人民教育出版社", "xyj.png", new Category(1, "小说")); Map<String, Object> datas = new HashMap<String, Object>(); datas.put("bk-101", book); datas.put("myBooks", list); context.put("teacher", "Mr Jia"); context.put("ds", datas); // String expression = "title"; // 默认取值为root根对象的属性 // String expression = "#b"; // 已#开头的表达式表示从context(Map)中找键为#开头的数据(b) // OGNL支持数据类型:字符类、数字、boolean、null // String expression = "3 + 5 > 5 * 6 or 5 > title.length()"; //支持算术、关系、逻辑等运算符 // String expression = "title.length() > 2 ? 'ok' : 'no'"; // 支持三元运算符 // String expression = "#b.title"; // 允许 "值.属性" // String expression = "#b.title.substring(1)"; // 允许 "值.方法(...)" // String expression = "@java.lang.Math@PI"; // 支持静态字段调用 // String expression = "@java.lang.Math@random()"; //支持静态方法调用 // String expression = "new java.lang.String('abc').class.name"; // 支持创建对象 // String expression = "#myBooks[0].title.length()"; // 支持用[index]取列表中的元素 // String expression = "#ds['bk-101']"; // 支持用map['keyName']取Map中的值(keyName必须长度大于1),也支持map.keyName取Map中的值(keyName必须是标识符) // String expression = "{'西游记', '水浒中', '红楼梦', '跟贾老师学Java'}.size()"; // 支持用{ elem1, ...., elemN} 创建一个ArrayList // String expression = "#{ '语文': 98, '数学': 87, '英语': 92 }"; // 支持用#{ 'key1': value1, 'key2': value2, .... 'keyN': valueN} // String expression = "#ds.myBooks.{$ #this.price lt 100 and #this.publisher eq '清华大学出版社'}"; // 支持过滤: ?^$ String expression = "#ds.myBooks.{ #this.price }"; // 支持投影 Object value = Ognl.getValue(expression, context, new Object()); System.out.println(value); }
注意在取值的时候
value=”#…” 和 value=”…”,带“#”是从context中获取值,没有的是从根对象XxxAction中获取
阅读全文
1 0
- 框架学习之struts2-03标签、OGNL表达式
- Struts2框架学习之OGNL表达式
- Struts2框架学习之四:OGNL表达式
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- OGNL表达式struts2标签“%,#,$”
- 洛谷 P3413 SAC#1
- 显示eclipse中Problem窗口的方法
- db,dbm,w,dbw,mw的换算关系
- uva 11426 欧拉函数
- Oracle中增加表空间大小的四种方法
- 框架学习之struts2-03标签、OGNL表达式
- TyvjP1860 后缀数组
- POJ 1087 A Plug for UNIX (最大流)
- springBoot JPA 查询中出现的问题
- Salesfoce Queueable & Future
- 大学英语单词F
- subset
- Python 字符串操作方法大全
- 解析json数据