日期:2014-05-18  浏览次数:20746 次

初学struts 的小小问题,望好心人在个忙. 空指针....
以下是Action,我的目地是,如果用户直接访问.do也就是说form还没有创建的情况下,那么就返回到输入页,以防止出现空指针异常,可是我这么写还是出现了空指针,另外,我想返回到输入页的时候,能给用户提示一些信息,不知道这个ActionMessage怎么写,谢谢了
RegeditForm   regeditForm   =   (RegeditForm)   form;
ActionForward   forwad=new   ActionForward();
if(regeditForm!=null){

forwad=mapping.findForward( "success ");
request.setAttribute( "use ",regeditForm   );
}else{
forwad=mapping.getInputForward();
}

return   forwad;

------解决方案--------------------
这个恐怕没有办法,from是struts自己维护的。
其实有一种更好的办法不让用户访问.do文件。
就是把这些文件放到WEN-INF里面。然后通过配置文件指定它的位置。这样用户是不可能访问到WEN-INF文件夹的,而你的程序却访问到。
如果不明白具体做法可以google一下
------解决方案--------------------
提示的方法很多啊,用 <bean:write/> 标签也可以。在页面存入错误请求request.setAtrribute( "error ",???????);
用actionMessage也行啊。
ActionMessages actionMessages = new ActionMessages();
actionMessages.add( "errors ", new ActionMessage( "errors "));/***2个errors的名字由你取,但后面在资源文件里面得有。***/
saveMessages(request, actionMessages);