ongl:对象导航图语言
它是一种强大的表达式语言,可以通过简单一致的表达式语法来读取和设置Java对象的属性值、调用对象的方法、遍历整个对象的结果图、实现字段类型转换等功能
和el表达式类似,读取从后台传递的值
往作用域放置数据
@Action(value="register",results={@Result(name="reg",location="/test_scope.jsp")})
public String register(){
//获取request
HttpServletRequest request = ServletActionContext.getRequest();
//获取session
HttpSession session = request.getSession();
//获取application
ServletContext application = request.getServletContext();
request.setAttribute("username", "小明");
session.setAttribute("username", "小李");
application.setAttribute("username", "小赵");
return "reg";
}
jsp页面读取数据,如果使用ognl表达式需要在jsp上面配置taglib
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<% String base=request.getContextPath()+"/"; %>
<base href="base">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
request作用域:${requestScope.username}
session作用域:${sessionScope.username}
application作用域:${applicationScope.username}
<br>
<s:property value="#request.username"/>
<s:property value="#session.username"/>
<s:property value="#application.username"/>
</body>
</html>