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);
}

}
...全文
98 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧