在jsp页面中获取action中的值:
1.写一个action类OgnlAction类:
需要注意的地方:
如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页面中的。因为result标签的默认跳转方式为请求转发方式,所以这里我们将值存储到并行域中。
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import ognl.OgnlContext; public class OgnlAction extends ActionSupport{ public String save1(){
/*OgnlContext context=new OgnlContext();
//将值存到值栈中
context.put("name","美美");*/
//放到并行域中
HttpServletRequest request=ServletActionContext.getRequest();
request.setAttribute("name", "zhangsan");
System.out.println("ognlAction的save方法执行了...");
return SUCCESS;
}
}
2.写一个jsp页面来获取action中的值:
需要注意的地方:
这里不能直接写“#属性名”,而应该写为“#request.属性名”才可以获取到值。
<%@ 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>Insert title here</title>
</head>
<body>
<h3>Ognl表达式</h3>
<s:property value="'aaa'.length()"/><br/>
<s:property value="#request.name"/>
</body>
</html>