使用OGNL通过请求对象访问bean属性

action这个类里面,要有表单上对应的属性

package roseindia.action;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import roseindia.model.StudentDetails;
import com.opensymphony.xwork2.ActionSupport;

public class OGNLAction extends ActionSupport implements ServletRequestAware {

	private HttpServletRequest request;
	private String studentname;
	private int age;

	public String getStudentname() {
		return studentname;
	}

	public void setStudentname(String studentname) {
		this.studentname = studentname;
	}

	public int getAge() {
		return age;
	}

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

	public void setServletRequest(HttpServletRequest request) {
		this.request = request;

	}

	public HttpServletRequest getServletRequest() {
		return request;
	}

	public String execute() throws Exception {

		if (studentname.equals("none")) {
			this.addActionError("Please Select name...");
			return ERROR;
		}
		StudentDetails bean = new StudentDetails();
		bean.setStudentname(studentname);
		bean.setAge(age);
		request.setAttribute("bean", bean);
		return SUCCESS;
	}

}
index.jsp

<%@page language="java" session="true" pageEncoding="ISO-8859-1"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>Example_OGNL_Struts2</title>
</head>
<body>
	
	<table>
		<tr>
			<td align="center" valign="top" bgcolor="#CCCCFF"><br>Select
				Student Name and Age.... <s:actionerror /> <s:form
					action="ognlAction">
					<s:select list="{'Bharat','Gyan','Ankit','Vinay'}" label="Name"
						headerKey="none" headerValue="None" name="studentname" />
					<s:textfield label="Age" name="age"></s:textfield>
					<s:submit></s:submit>
				</s:form></td>
			<td align="center" valign="top">|Accessing Bean Properties |
				<table cellpadding="2" cellspacing="0" width="200">
					<tr bgcolor="#CC66FF">
						<td>Student name</td>
						<td>Age</td>
					</tr>
					<tr>
						<td><s:property value="studentname" /></td>
						<td><s:property value="age" /></td>
					</tr>
				</table>
			</td>
			<td align="center" valign="top">|Accessing Request |
				<table cellpadding="2" cellspacing="0" width="200">
					<tr bgcolor="#CC66FF">
						<td>Student Name</td>
						<td>Age</td>
					</tr>
					<tr>
						<td><s:property value="#request['bean'].studentname" /></td>
						<td><s:property value="#request['bean'].age" /></td>
					</tr>
				</table>
			</td>
		</tr>
	</table>
</body>
</html>

<struts>
	<constant name="struts.devMode" value="false" />
	<package name="roseindia" extends="struts-default">
		<action name="ognlAction" class="roseindia.action.OGNLAction">
			<result name="error">index.jsp</result>
			<result name="success">index.jsp</result>
			<result name="input">index.jsp</result>
		</action>
	</package>
</struts>
原文: http://www.roseindia.net/struts/struts/struts2.2.1/tags/requestValue.html
源代码:http://pan.baidu.com/share/link?shareid=252734836&uk=3878681452

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值