【Struts2】OGNL:操作作类内属性与方法

public class OGNLAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private String name;// 普通属性name
	private Student student ;// 学生对象
	Map<String, Object> request;
	
	@SuppressWarnings("unchecked")
	public OGNLAction(){
		student = new Student();
		student.setId(1);// 调用Student内setter对学号赋值
		student.setName("张三");// 调用Student内setter对学号赋值
		name = "tom";// 对name赋值
		request = (Map<String, Object>) ActionContext.getContext().get("request");// 获取Map类型的request
	}
	

	@Override
	public String execute() throws Exception {
		request.put("info", "request测试");// 向request添加值
		return SUCCESS;
	}
	
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Student getStudent() {
		return student;
	}
	public void setStudent(Student student) {
		this.student = student;
	}
package bean;
public class Student {
	// 学号 
	private int id;
	// 姓名
	private String name;
	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 String say(){
		return "我是一个学生";
	}
}
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
	"http://struts.apache.org/dtds/struts-2.1.dtd">
	
<struts>
	<!-- 声明常量 -->
	<constant name="struts.devMode" value="true"></constant>
	<package name="myPackage" extends="struts-default" namespace="/">
		<action name="ognl" class="action.OGNLAction">
			<result name="success">success.jsp</result>
		</action>
	</package>
</struts>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>主页</title>
</head>
<body>
<a href="ognl.action">测试</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OGNL操作普通属性</title>
</head>
<body>
	<div><!-- 用OGNL表达式输出OGNLAction对象中设置的属性值 -->
		<h1>操作普通属性</h1>
		属性name值:<s:property value="name"/><br>
		
		<hr><!-- 可直接用OGNL类内的student对象,调用类内方法 -->
		学号:<s:property value="student.id"/><br><!-- 也可以使用<s:property value="student['id']"/>-->
		姓名:<s:property value="student.name"/><br>
		say()<s:property value="student.say()"/><br><!-- 此属性描述 -->
		<hr>
		
		request中的info值:<s:property value="#request['info']"/>
	</div>
</body>

</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值