想请问一下,struts2中获得request、session等方法的区别。

soyestrellafortuna soyestrellafortuna 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
昨天突然发现我在action中无法获得request的值。很是奇怪。所以特来问问
首先,我使用的是实现接口的方法

public class InstallAct extends ActionSupport implements ServletRequestAware, ServletResponseAware {

private HttpServletRequest request;
private HttpServletResponse response;
public String doAction() {
//但是,始终一到下面这条语句就抛异常(空指针异常)
//使用session等也同样出错。
String s = request.getParameter("bb");//bb为表单测试的隐藏域控件名字
System.out.println(s);
return "step2";
}
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub

}

public void setServletResponse(HttpServletResponse arg0) {
// TODO Auto-generated method stub

}

}


尝试了多次,不得其解,后来想到可以使用获得上下文的方式获得。于是尝试了一次,确实是可以获得

public class InstallAct extends ActionSupport{
public String doAction() {
HttpServletRequest request = ServletActionContext.getRequest();
String s = request.getParameter("bb");
System.out.println(s);
return "step2";
}
}

前几次做例子也都使用第一种方法,也都可以正确获得。但这次却是无法获得。想请问大家一下,为什么会这样。第一种为什么获得不了,而第二种却可以正常获得。这两种方法有什么区别??
谢谢大家!!
...全文
评论 8
收藏 已收藏
分享
返回顶部
soyestrellafortuna
Java EE 67,535 成员 225,843 内容