`

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

    OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作Java对象的属性,调用其方法,以及执行类型转换等操作。 OGNL是对象图导航语言的缩写,它是一种功能强大的...

    struts2 ognl用法项目

    在Struts2中,OGNL用于处理动作类的属性到JSP页面的传递,以及用户输入到动作类的绑定。 首先,让我们了解OGNL的基本语法。OGNL表达式通常包含两个部分:对象引用和属性访问。例如,`user.name`表示获取名为`user`...

    struts2中OGNL的一些概念及原理说明

    ### Struts2中OGNL的概念及原理说明 #### 一、OGNL表达式的基本用法与特点 **OGNL**,即**Object Graphic Navigation Language**(对象图导航语言),是Struts2框架中用于处理对象及其属性的强大工具之一。通过...

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

    在这个实例中,我们将深入探讨如何在Struts2中使用OGNL来获取Servlet对象的值、筛选集合中的对象,以及理解OGNL表达式的生命周期。 首先,让我们了解OGNL的基本语法。OGNL允许我们通过点号(.)和方括号([])来...

    struts2中ognl表达式的理解和用法

    在Struts2中,Action上下文就是OGNL的默认上下文,其中包含了Action实例和其他请求相关的对象。 三、OGNL与Struts2的结合 1. 表单绑定:Struts2可以自动将表单提交的数据映射到Action类的属性,这背后就是OGNL的...

    struts2对Ognl的封装--TypeConverter

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于访问和操作对象图。这篇博客文章"Struts2对Ognl的封装--TypeConverter"探讨了Struts2如何通过TypeConverter机制来增强OGNL的...

    精通struts2的ognl表达式

    ### 精通Struts2中的OGNL表达式 在深入探讨Struts2框架的核心功能时,理解并熟练掌握OGNL(Object-Graph Navigation Language)表达式的应用是至关重要的一步。OGNL是一种强大的表达式语言,它允许开发者通过简洁、...

    struts2_ognl基本用法.doc

    在Struts2中,OGNL主要用于访问值栈中的数据,包括Action实例以及它所包含的对象属性。 **1. 访问Action的普通属性** ```html ``` 上述代码展示了如何通过`&lt;s:property&gt;`标签访问值栈中Action实例的一个属性...

    struts2 OGNL表达式

    在Struts2中,OGNL被用作默认的表达式语言,用于在Action类和JSP页面之间传递数据,以及在Action上下文中进行动态方法调用。 在Struts2的配置文件中,如struts.xml或struts.properties,你可以看到OGNL表达式的使用...

    Struts2中的OGNL

    在Struts2中,OGNL(Object-Graph Navigation Language)扮演着核心角色,它是一种强大的表达式语言,用于在Action类和JSP页面之间交换数据。下面我们将深入探讨OGNL的基本概念、特性以及在Struts2中的应用。 **...

    Struts 2中的OGNL .rar

    本压缩包文件“Struts 2中的OGNL.rar”包含的PDF文档详细介绍了如何在Struts 2框架中使用OGNL。 OGNL是一种强大的表达式语言,它的主要功能是在Java对象图中导航并操作数据。在Struts 2中,OGNL被用来解析和构造...

    Ognl在Struts2中的应用 源码

    在Struts2中,OGNL表达式有其特有的上下文(`ValueStack`),它包含了请求、session、应用范围的变量以及Action实例。这使得开发者可以方便地访问这些范围内的对象。 **6. OGNL的安全性问题** 尽管OGNL提供了强大的...

    Struts用的ognl和valueStack(vs)实例

    总的来说,OGNL和Value Stack是Struts2框架中紧密协作的两个组件,它们极大地简化了数据的传递和视图的渲染,提高了开发效率。了解并熟练掌握这两者,对于深入理解和使用Struts2框架至关重要。在学习过程中,可以...

    ognl.rar_OGNL API_struts2 ognl api_struts2帮助文档

    在Struts2中,这个上下文通常包含ActionContext,包含了Action实例、请求、会话等信息。 3. **ValueStack**:Struts2的ValueStack是一个对象栈,它用于存放Action实例和其他数据。OGNL可以方便地从ValueStack中查找...

    struts2 ognl表达式

    在Struts2中,OGNL表达式可以嵌入到各种基本标签中,如`s:textfield`, `s:property`, `s:action`等,以实现动态的数据展示和交互。例如,`&lt;s:property value="%{#session.user.name}" /&gt;`会将session中user对象的...

    Struts2 OGNL表达式实例详解

    在Struts2中,OGNL可以用来访问Action中的属性、方法,也可以用来访问ValueStack中的数据。在本文中,我们将通过实例代码来详细介绍OGNL的使用。 实例1:访问Action中的属性 在Struts2中,我们可以使用OGNL来访问...

    struts2中的ActionContext与ognl

    ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...

    第四章:struts2中的OGNL.ppt

    第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...

    Struts2 OGNL示例(Maven项目)

    在Struts2中,OGNL(Object-Graph Navigation Language)是默认的表达式语言,用于在视图、控制器和模型之间进行数据绑定和表达式处理。这个"Struts2 OGNL示例(Maven项目)"提供了使用OGNL与Struts2集成的实例,...

Global site tag (gtag.js) - Google Analytics