public class OGNLAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String name;
private Student student ;
Map<String, Object> request;
@SuppressWarnings("unchecked")
public OGNLAction(){
student = new Student();
student.setId(1);
student.setName("张三");
name = "tom";
request = (Map<String, Object>) ActionContext.getContext().get("request");
}
@Override
public String execute() throws Exception {
request.put("info", "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>