`

struts东东

阅读更多
struts中的转发和重定向
见: struts.register.full项目

通过struts配置文件设定转发和重定向, 配置文件片段:

转发的例子:

<action path="/showUsers"
        type="struts.register.validator.ShowUsersAction">
        <forward name="success"
                path="/WEB-INF/register/show_users.jsp" />
</action>


重定向的例子:
<action attribute="userForm" name="userForm" path="/register"
        scope="request" type="struts.register.validator.RegisterAction"
        input="/WEB-INF/register/input.jsp">
        <forward name="error" path="/WEB-INF/register/input.jsp" />
        <forward name="success" path="/showUsers.do"
                redirect="true" />
</action>




DispatchAction
可以合并类似的Action, 减少Action编写的数量 

org.apache.struts.actions.DispatchAction. 

见: struts.register.full项目 

struts.register.validator.SaveUserAction: 


切换行号显示切换行号显示 
   1 public class SaveUserAction extends DispatchAction {
   2 
   3         private DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
   4 
   5         public ActionForward create(ActionMapping mapping, ActionForm form,
   6                         HttpServletRequest request, HttpServletResponse response) {
   7                 return mapping.findForward("success");
   8         }
   9 
  10         public ActionForward update(ActionMapping mapping, ActionForm form,
  11                         HttpServletRequest request, HttpServletResponse response) {
  12                 DynaActionForm actionForm = (DynaActionForm) form;
  13                 Long id = (Long) actionForm.get("id");
  14 
  15                 UserDao userDao = UserDaoFactory.getInstance();
  16                 User user = userDao.get(id);
  17 
  18                 if (user == null) {
  19                         throw new RegisterException(MessageFormat.format("ID为{0}的用户数据不存在.",
  20                                         user.getId()));
  21                 }
  22 
  23                 UserForm userForm = new UserForm();
  24                 userForm.setName(user.getName());
  25                 userForm.setEmail(user.getEmail());
  26                 userForm.setBirthday(this.dateFormat.format(user.getBirthday()));
  27                 userForm.setId(Long.toString(user.getId()));
  28 
  29                 request.setAttribute("userForm", userForm);
  30 
  31                 return mapping.findForward("success");
  32         }
  33 
  34 }
配置文件片段: 

<action attribute="userIdForm" name="userIdForm"
        path="/saveUser" scope="request" parameter="command"
        type="struts.register.validator.SaveUserAction">
        <forward name="success" path="/WEB-INF/register/input.jsp" />
</action>
访问: 

新建用户: 
http://localhost:8080/struts.register/saveUser.do?command=create
 修改用户: 
http://localhost:8080/struts.register/saveUser.do?command=update&id=1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics