我面临在Struts2一个奇怪的错误,我正在试图设置属性转换请求范围时,零指示字例外,Struts2的获取请求对象为空
Struts Problem Report
Struts的已检测到一个未处理 异常:消息:文件: 组织/阿帕奇/卡塔利娜/连接器/ Request.java 行号:1,424
Stacktraces
java.lang.NullPointerException
org.apache.catalina.connector.Request.setAttribute(Request.java:1424)
org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503)
javax.servlet.ServletRequestWrapper.setAttribute(ServletRequestWrapper.java:284)
com.inrev.bm.action.IRBrandMgmtAction.wrdTwts(IRBrandMgmtAction.java:81)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
我下面的代码中给出,
public class IRBrandMgmtAction extends ActionSupport implements SessionAware,ServletRequestAware {
private static final long serialVersionUID = 1L;
private Map session;
private HttpServletRequest request;
private IRWordToTrack wrdtotrack;
private IRBrandMgmtDAO brandMgmtDAO;
private static org.apache.log4j.Logger log = Logger.getLogger(IRBrandMgmtAction.class);
,并在那里发生这种情况的方法,
public String wrdTwts()
{
ArrayList<IRBrandTrackBean> messages = null;
IRDateUtil dtUtil = new IRDateUtil();
String wordId = request.getParameter("wordId");
IRUser user = (IRUser) session.get("user");
IRWordToTrack word = brandMgmtDAO.getWord(Integer.parseInt(wordId));
if(word!=null)
{
messages = brandMgmtDAO.viewMsgForUser(word.getWord().toUpperCase().trim(), null, dtUtil.getTimeZoneOffset(user.getTimeZone()));
}
request.setAttribute("messages",messages);
return "tweets";
}
我使用Tomcat 6服务器。
问候, 罗希特
感谢Leonbloy, 对于struts2来说,我真的很新,一直在使用struts1.2直到这个项目,感谢您的所有建议。只有几个问题想, *你会建议什么是在strust2中传递值的最好方法,定义getter setter? *当我使用这个HttpServletRequest request = ServletActionContext.getRequest()时,请求对象null的错误似乎不会发生。 你能抛出一些光吗? – sesmic 2010-08-28 17:54:21