在我的Action的execute()函數中,我想把從jsp頁面傳來的值保存為cookie,結果卻拋出了空指針異常 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貢獻2012條經驗 獲得超12個贊
我記得structs2要實現implements
ServletResponseAware
接口重寫
@Override
public
void
setServletResponse(HttpServletResponse
arg0)
{
this.response
=
arg0;
}
private
HttpServletResponse
response;
//添加set方法
//這樣就可以獲得response了
不會出現空值了
添加回答
舉報
0/150
提交
取消