`

Struts2中的OGNL中的集合操作实例

阅读更多

直接创建List类型集合的语法 
{e1,e2,e3…} 
直接创建Map类型集合的语法 
#{key1:value1,key2:value2…}  
取得子集的三个操作符 ? ^  $ 

 

实例:

 

package cn.hjc.action;
import java.util.ArrayList;
import java.util.List;
import cn.hjc.model.Book;
import com.opensymphony.xwork2.ActionSupport;
public class OgnlAction extends ActionSupport{
	private List<Book> books;
	public List<Book> getBooks() {
		return books;
	}
	public void setBooks(List<Book> books) {
		this.books = books;
	}
	@Override	
	public String execute() throws Exception {
		Book book=new Book();
		book.setId(1);
		book.setName("spring");
		book.setJiaqian(34);
		
		Book book1=new Book();
		book1.setId(2);
		book1.setName("hibernate");
		book1.setJiaqian(55);
		
		Book book2=new Book();
		book2.setId(3);
		book2.setName("struts2");
		book2.setJiaqian(60);
		
		List<Book> list=new ArrayList<Book>();
		list.add(book);
		list.add(book1);
		list.add(book2);
		
		setBooks(list);
		return SUCCESS;
	}
}
 

 

package cn.hjc.model;
public class Book {
	private int id;
	private String name;
	private int jiaqian;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getJiaqian() {
		return jiaqian;
	}
	public void setJiaqian(int jiaqian) {
		this.jiaqian = jiaqian;
	}
	
}
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.devMode" value="true" />
	<package name="default" namespace="/" extends="struts-default">		
		<action name="book" class="cn.hjc.action.OgnlAction" >
			<result name="success">/msg.jsp</result>
		</action>		
	</package>
</struts>
 
  <body>集合取值规则 books.{? #this.jiaqian>44}<br>
  <s:iterator value="books.{? #this.jiaqian>44}">
  	<s:property value="id"/>---<s:property value="name"/>---<s:property value="jiaqian"/><br>
  </s:iterator>
   <br>
     集合取值规则 books.{$ #this.jiaqian>44}<br>
  <s:iterator value="books.{$ #this.jiaqian>44}">
  	<s:property value="id"/>---<s:property value="name"/>---<s:property value="jiaqian"/><br>
  </s:iterator>
  <br>
    集合取值规则 books.{^ #this.jiaqian>44}<br>
  <s:iterator value="books.{^ #this.jiaqian>44}">
  	<s:property value="id"/>---<s:property value="name"/>---<s:property value="jiaqian"/><br>
  </s:iterator>
   
  </body>

 ssh2.org  SSH2整合论坛希望大家支持,

这个例子的源代码下载网址http://ssh2.org/read-htm-tid-512-ds-1.html

分享到:
评论

相关推荐

    struts2中OGNL使用源自javaWeb编程王者归来

    本实例:实现了用ongl取得servlet对象值;用ongl对集合中的对象进行筛选; 以及ongl表达式的显示生命

    Struts2入门教程(全新完整版)

    1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 ...

    OGNL表达式语言.txt

    OGNL表达式语言: 相对EL表达式,它提供了平时我们需要的一些功能,如: ...另外OGNL会设定一个根对象(root对象),在Struts2中根对象是ValueStack。 如果访问根对象中的对象的属性,则可以省略#命名空间。

    最新Struts2+jq+ajax+json 学会总要4步‵‵超级简单,里面包含实例

    1. 导入struts2 及json包 asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.jar ognl-...

    低清版 大型门户网站是这样炼成的.pdf

    2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的国际化 87 2.4.3 struts 2国际化语言的动态切换 89 2.5 struts 2的校验框架 90 2.5.1 在...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    9.2.2 Struts2框架中的OGNL 9.2.3 操作普通的属性与方法 9.2.4 访问静态方法与属性 9.2.5 访问数组 9.2.6 访问List、Set、M印集合 9.2.7 投影与选择 9.3 Struts2的标签库 9.3.1 数据标签的应用 9.3.2 控制标签的应用...

    Java学习笔记-个人整理的

    {12.5}操作符与实例}{154}{section.12.5} {12.5.1}where}{154}{subsection.12.5.1} {12.6}函数}{156}{section.12.6} {12.7}组函数}{158}{section.12.7} {12.7.1}group by}{159}{subsection.12.7.1} {12.7.2}...

    freemarker总结

    上面的语法格式中,sequence就是一个集合对象,也可以是一个表达式,但该表达式将返回一个集合对象,而item是一个任意的名字,就是被迭代输出的集合元素.此外,迭代集合对象时,还包含两个特殊的循环变量: item_index:...

Global site tag (gtag.js) - Google Analytics