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

Struts2 学习笔记13 OGNL part2

2019年08月31日 ⁄ 综合 ⁄ 共 1403字 ⁄ 字号 评论关闭

  之前说了访问值栈中普通对象的属性。今天简单说一下访问action的属性的方法,访问静态的属性,访问静态的方法,和访问Math类。先看一下项目构成。


各种访问的方法都在ognl.jsp里。

ognl.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Ognl表达式学习</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <ol>
    	<li>访问值栈中的action的普通属性:username=<s:property value="username"/></li>
    	<li>访问值栈中对象的普通属性:<s:property value="user.age"/></li>
    	<li>访问值栈中对象的普通属性:<s:property value="cat.friend.name"/>
    	<hr/>
    	<li>访问action的属性的方法:<s:property value="password.length()"/>
    	<li>访问静态的属性:<s:property value="@com.tfj.struts2.ognl.S@STR"/>
    	<li>访问静态的方法:<s:property value="@com.tfj.struts2.ognl.S@s()"/>
    	<li>访问Math类:<s:property value="@@max(2,3)"/>
    	
    	
    	
    </ol>
    <s:debug></s:debug>
  </body>
</html>

这部分都比较简单,我就不详述了,值得注意一下的是在访问静态方法的时候,需要在struts.xml里配置一下 <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>允许访问静态方法。

<s:property value="@@max(2,3)"/>是只能来访问Math类。


抱歉!评论已关闭.