struts1.1 saveErrors()

lee1013 2004-12-21 05:08:11
struts1.1的Action类里调用了saveErrors(),编译运行没有问题,但这种写法好像不被推荐.
我想从Acion重定向到输入页面,该怎么做。。。



public class LogonAction extends Action {

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServerException, UserDirectoryException {

LogonForm user = (LogonForm) form;
String username = user.getUsername();
String password = user.getPassword();

boolean validate = false;
try {
validate = isUserLogon(username, password);
if (!validate) {
throw new UserDirectoryException("aaa");
}
} catch (UserDirectoryException e) {
ActionErrors errors = new ActionErrors();
errors.add("connect",new ActionMessage("error.logon.connect"));
saveErrors(request,errors);
return new ActionForward(mapping.getInput());
}

HttpSession session = request.getSession();
session.setAttribute(Constants.USER_KEY, user);

return mapping.findForward(Constants.WELCOME);
}

/**
* @param username
* @param password
* @return
*/
private boolean isUserLogon(String username, String password)
throws UserDirectoryException, IOException {
return UserDirectory.getInstance().isValidPassword(username,password);
}

}
...全文
32 点赞 收藏 2
写回复
2 条回复
lee1013 2004年12月22日
return mapping.findForward(Constants.WELCOME);
这一段没有问题。用户名和密码一致时转向到WELCOME指定的页面。
我的问题是,
try ,catch这一段,当发生例外时转向到输入页面,并把信息打印出来。
所以我用了saveErrors()注册错误信息,并重定向到mapping.getInput();
而且编译运行都没有问题,就是这种写法好像不被推荐.有没有更好的方法呢?
回复 点赞
hfree 2004年12月21日
把return mapping.findForward(Constants.WELCOME);

改成return new ActionForward(mapping.getInput());

如果要重定向的话.可以把Constants.WELCOME对应的路径设成输入页面路径,并设置redirect=true
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告