直接创建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
分享到:
相关推荐
OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作Java对象的属性,调用其方法,以及执行类型转换等操作。 OGNL是对象图导航语言的缩写,它是一种功能强大的...
在Struts2中,OGNL用于处理动作类的属性到JSP页面的传递,以及用户输入到动作类的绑定。 首先,让我们了解OGNL的基本语法。OGNL表达式通常包含两个部分:对象引用和属性访问。例如,`user.name`表示获取名为`user`...
### Struts2中OGNL的概念及原理说明 #### 一、OGNL表达式的基本用法与特点 **OGNL**,即**Object Graphic Navigation Language**(对象图导航语言),是Struts2框架中用于处理对象及其属性的强大工具之一。通过...
在这个实例中,我们将深入探讨如何在Struts2中使用OGNL来获取Servlet对象的值、筛选集合中的对象,以及理解OGNL表达式的生命周期。 首先,让我们了解OGNL的基本语法。OGNL允许我们通过点号(.)和方括号([])来...
在Struts2中,Action上下文就是OGNL的默认上下文,其中包含了Action实例和其他请求相关的对象。 三、OGNL与Struts2的结合 1. 表单绑定:Struts2可以自动将表单提交的数据映射到Action类的属性,这背后就是OGNL的...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于访问和操作对象图。这篇博客文章"Struts2对Ognl的封装--TypeConverter"探讨了Struts2如何通过TypeConverter机制来增强OGNL的...
### 精通Struts2中的OGNL表达式 在深入探讨Struts2框架的核心功能时,理解并熟练掌握OGNL(Object-Graph Navigation Language)表达式的应用是至关重要的一步。OGNL是一种强大的表达式语言,它允许开发者通过简洁、...
在Struts2中,OGNL主要用于访问值栈中的数据,包括Action实例以及它所包含的对象属性。 **1. 访问Action的普通属性** ```html ``` 上述代码展示了如何通过`<s:property>`标签访问值栈中Action实例的一个属性...
在Struts2中,OGNL被用作默认的表达式语言,用于在Action类和JSP页面之间传递数据,以及在Action上下文中进行动态方法调用。 在Struts2的配置文件中,如struts.xml或struts.properties,你可以看到OGNL表达式的使用...
在Struts2中,OGNL(Object-Graph Navigation Language)扮演着核心角色,它是一种强大的表达式语言,用于在Action类和JSP页面之间交换数据。下面我们将深入探讨OGNL的基本概念、特性以及在Struts2中的应用。 **...
本压缩包文件“Struts 2中的OGNL.rar”包含的PDF文档详细介绍了如何在Struts 2框架中使用OGNL。 OGNL是一种强大的表达式语言,它的主要功能是在Java对象图中导航并操作数据。在Struts 2中,OGNL被用来解析和构造...
在Struts2中,OGNL表达式有其特有的上下文(`ValueStack`),它包含了请求、session、应用范围的变量以及Action实例。这使得开发者可以方便地访问这些范围内的对象。 **6. OGNL的安全性问题** 尽管OGNL提供了强大的...
总的来说,OGNL和Value Stack是Struts2框架中紧密协作的两个组件,它们极大地简化了数据的传递和视图的渲染,提高了开发效率。了解并熟练掌握这两者,对于深入理解和使用Struts2框架至关重要。在学习过程中,可以...
在Struts2中,这个上下文通常包含ActionContext,包含了Action实例、请求、会话等信息。 3. **ValueStack**:Struts2的ValueStack是一个对象栈,它用于存放Action实例和其他数据。OGNL可以方便地从ValueStack中查找...
在Struts2中,OGNL表达式可以嵌入到各种基本标签中,如`s:textfield`, `s:property`, `s:action`等,以实现动态的数据展示和交互。例如,`<s:property value="%{#session.user.name}" />`会将session中user对象的...
在Struts2中,OGNL可以用来访问Action中的属性、方法,也可以用来访问ValueStack中的数据。在本文中,我们将通过实例代码来详细介绍OGNL的使用。 实例1:访问Action中的属性 在Struts2中,我们可以使用OGNL来访问...
ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...
第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...
在Struts2中,OGNL(Object-Graph Navigation Language)是默认的表达式语言,用于在视图、控制器和模型之间进行数据绑定和表达式处理。这个"Struts2 OGNL示例(Maven项目)"提供了使用OGNL与Struts2集成的实例,...