向response,request,application中放入属性
public String execute() throws Exception{
ActionContext atx=ActionContext.getContext();
atx.getApplication().put("app", "应用范围");//往application里放入数据
atx.getSession().put("ses","session范围");//往session里放入数据
atx.put("req","request范围");//往request里放入数据
atx.put("arrays",Arrays.asList("涨","li"));//向request中放入数组
return "message";
}
在jsp页面上使用el表达式:
${applicationScope.app}
${sessionScope.ses}
${requestScope.req}
如果在action代码中要得到request,response以及serverletContext对象,那么可以通过ServletActionContext类直接得到,还可以为Action指定实现的接口,由struts在运行期注入对象。
public String res() throws Exception{
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext servletContext=ServletActionContext.getServletContext();
request.setAttribute("req", "请求范围");
request.getSession().setAttribute("ses", "会话范围属性");
servletContext.setAttribute("app", "服务器范围属性");
HttpServletResponse response=ServletActionContext.getResponse();
return "";
}