今天写作业:前台发送action到后台,利用ActionContext和ServletActionContext获取web资源,分别给request、session和application赋值属性,再返回前台页面,并显示对应的属性值。
输出时无法显示request、session和application属性值。麻烦各位大神帮我看看谢谢。
ParameterAction.java
package cn.edu.xmut.action;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ParameterAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String rp;
private String sp;
private String ap;
public String add(){ return Action.SUCCESS; }
@SuppressWarnings("unchecked")
public String save(){
//1、ActionContext
Map requestMap=(Map)ActionContext.getContext().get("request");//获取request的map
requestMap.put("param", rp);
ActionContext.getContext().getSession().put("param", sp); //获取session的map
ActionContext.getContext().getApplication().put("param", ap); //获取application的map
//2、ServletActionContext
ServletActionContext.getRequest().setAttribute("param", rp);
ServletActionContext.getRequest().getSession().setAttribute("param", sp);
ServletActionContext.getServletContext().setAttribute("param", ap);
return Action.SUCCESS;
}
//省略getter和setter方法
}
Struts.xml
<action name="parameter_add" class="cn.edu.xmut.action.ParameterAction" method="add">
<result name="success">add.jsp</result>
</action>
<action name="parameter_save" class="cn.edu.xmut.action.ParameterAction" method="save">
<result name="success">save.jsp</result>
</action>
<action name="parameter)*" class="cn.edu.xmut.action.ParameterAction" method="{1}">
<result name="success">{1}.jsp</result>
</action>
add.jsp
save.jsp
index.jsp
谢谢各位大哥了。