<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      半翻譯半整理的一些struts的東東,很淺顯的,歡迎指正(4)

      [摘要]二、出錯管理(Managing Errors)Struts框架有兩個主要的類來管理出錯,一個是org.apache.struts.action.ActionError類,它對錯誤信息進行包裝。另一個...
      二、出錯管理(Managing Errors)
      Struts框架有兩個主要的類來管理出錯,一個是org.apache.struts.action.ActionError類,它對錯誤信息進行包裝。另一個是org.apache.struts.action.ActionErrors類,它是ActionError實例的容器。這兩個類經常要在ActionForm及Action類中使用。其具體的使用如下:
      ActionErrors errors = new ActionErrors();
      errors.add("propertyname", new ActionError("key");
      errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("key");
      關于"propertyname"和ActionErrors.GLOBAL_ERROR,對前者用在ActionForm中,這里是對應表現層(JSP)中的屬性值。而對后者則用在Action中,它對應struts-config.xml的<global-forwards />中描述的信息。例子:
      ActionForm類:
      public class LoginForm extends ActionForm {
      …………………
      public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
      ActionErrors errors = new ActionErrors();
      if ( (username == null ) (username.length() == 0) ) {
      errors.add("username",new ActionError("errors.username.required"));
      }
      if ( (password == null ) (password.length() == 0) ) {
      errors.add("password",new ActionError("errors.password.required"));
      }
      return errors;
      }
      …………………
      }

      Action類:
      public class LoginAction extends Action {
      ……………………
      public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponseresponse) throws IOException, ServletException {
      String user = null;
      // Default target to success
      String target = "success";
      // Use the LoginForm to get the request parameters
      String username = ((LoginForm)form).getUsername();
      String password = ((LoginForm)form).getPassword();
      user = getUser(username, password);
      // Set the target to failure
      if ( user == null ) {
      target = "login";
      ActionErrors errors = new ActionErrors();
      errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("errors.login.unknown",username));
      // Report any errors we have discovered back to the
      // original form
      if (!errors.empty()) {
      saveErrors(request, errors);
      }
      }
      else {
      HttpSession session = request.getSession();
      session.setAttribute("USER", user);
      }
      // Forward to the appropriate View
      return (mapping.findForward(target));
      }
      }
      在表現層中表現錯誤只須要寫上<html:error />標簽即可。



      日韩精品一区二区三区高清