1. 程式人生 > >javaEE Struts2,配置檔案中使用OGNL表示式

javaEE Struts2,配置檔案中使用OGNL表示式

Demo1Action.java:

package cn.xxx.config;

import com.opensymphony.xwork2.ActionSupport;

public class Demo1Action extends ActionSupport {
	
	private Integer age;  //在配置檔案中可以通過OGNL表示式獲取該屬性值。
	
	@Override
	public String execute() throws Exception {
		age = 22;  //模擬從資料庫中獲取。  在配置檔案中可以通過OGNL表示式獲取該值。
		return SUCCESS;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}
	
}

src/struts.xml(Struts2核心配置檔案;配置檔案中使用OGNL表示式獲取Action的屬性值):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<package name="showvs" namespace="/" extends="struts-default" >
		<action name="Demo1Action" class="cn.xxx.config.Demo1Action" method="execute" >
			<result name="success" type="redirectAction" >
				<param name="actionName">Demo2Action</param>
				<param name="namespace">/</param>
				<!-- 如果新增的引數struts"看不懂".就會作為引數附加重定向的URL路徑之後.
					 如果引數是動態的.可以使用${}包裹ognl表示式,動態取值
				 -->
				<param name="age">${age}</param>
			</result>
		</action>
		<action name="Demo2Action" class="cn.xxx.showvs.Demo2Action" method="execute" >
			<result name="success" type="dispatcher" >/showvs.jsp</result>
		</action>
	</package>
</struts>