在我的Action的execute()函數中, public String execute(){ System.out.println("action"); if(getUser().equals("liu")&&getPassword().equals("shilei")){ ActionContext.getContext().getSession().put("user", getUser()); Cookie cookie=new Cookie("user",user); cookie.setMaxAge(60*60); response.addCookie(cookie);//就是這里出錯了 return SUCCESS; } return ERROR; } 執行后的結果 java.lang.NullPointerException action.LoginAction.execute(LoginAction.java:38) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242) response我是在Action中聲明的一個private HttpServletResponse response;
1 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
我記得structs2要實現implements
ServletResponseAware
接口重寫
@Override
public
void
setServletResponse(HttpServletResponse
arg0)
{
this.response
=
arg0;
}
private
HttpServletResponse
response;
//添加set方法
//這樣就可以獲得response了
不會出現空值了
- 1 回答
- 0 關注
- 105 瀏覽
添加回答
舉報
0/150
提交
取消