private String userName;
private ActionContext ac;
private Map request;
private Map session;
private Map application;
@Override
public String execute() throws Exception {
ac=ActionContext.getContext();
request=(Map) ac.get("request");
session=ac.getSession();
application=ac.getApplication();
request.put("req", "request中的requst属性");
session.put("req", "session中的requst属性");
session.put("ses", "sesion属性");
application.put("app", "application属性");
ac.put("action", "action中的值");
return super.execute();
}
--------------------------------------------------------------------------------------------------------
<body>
<%--总结$ # %的区别
$用于 i18n 和 struts 配置文件
#取得 ActionContext 的值
%将原来的文本串解析为 ognl,对于本来就是 ognl 的文本不起作用。形式:%{要解析的文本串}--%>
登录成功:</br>
<h4>以下使用el的形式来接受</h4>
${requestScope.req}</br>
${sessionScope.ses}</br>
${sessionScope.req}</br>
${applicationScope.app }</br>
<h4>以下使用scope.getAttribute的形式来接受</h4>
request:<%=request.getAttribute("req")%><br>
session:<%=session.getAttribute("ses")%><br>
application:<%=application.getAttribute("app")%><br>
<%--
注意:struts2 中 ,OGNL 表达式需要配合 struts 的标签才可以使用
--%>
<h1>以下使用struts2 ongl#号形式来表示</h1>
获取action属性: <s:property value="#request.action"/></br>
获取Request属性:<s:property value="#request.req"/><br>
获取Session属性:<s:property value="#session.ses"/><br>
获取application属性:<s:property value="#application.app"/><br>
获取Parameters属性:<s:property value="#parameters.userName"/>
<h2>以下用struts2 %形式来表示</h2>
<%--
注意:struts2 中 , %号形式 可以转换成OGNL 表达式,仍需要配合 struts 的标签才可以使用
--%>
获取action属性:<s:property value="%{action}"/><br>
获取Request属性:<s:property value="%{request.req}"/><br>
获取Session属性:<s:property value="%{session.ses}"/><br>
获取application属性:<s:property value="%{application.app}"/><br>
获取Parameters属性:<s:property value="%{parameters.userName}"/></br>
<s:debug></s:debug>
</body>