现在的位置: 首页 > 综合 > 正文

Struts标签库和OGNL表达式

2012年07月17日 ⁄ 综合 ⁄ 共 675字 ⁄ 字号 评论关闭

OGNL表达式也是一种EL表达式。

要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language),

OGNL是Struts2中使用的一种表达式语言,它可以用于JSP的标签库中,以便能够方便的访问各种对象的属性;它用于界面将参数传递到Action(并进行类型转换)中;它还可以用于struts2的配置文件中!

OGNL称为对象图导航语言。所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象。

ValueStack实际上就是对OGNL的封装,OGNL主要的功能就是赋值与取值,Struts2正是通过ValueStack来进行赋值与取值的!

假如Action有一个属性userName,已经赋值了,那么我们在页面获取的时候:

<%@ taglib prefix="s" uri="/struts-tags"%>  
<%@ page import="com.opensymphony.xwork2.util.*" %>  
  
<%=request.getSession().getAttribute("userName")%>  
<%  
ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");  
String userName = (String)vs.findValue("userName");  
out.println(userName);  
%>  
<s:property value="userName"/>  
${userName}  

以上四种方法都可以获取到。

抱歉!评论已关闭.