struts1.X总结

作者在 2010-07-08 15:46:09 发布以下内容

h1>登录(validator框架客户端验证(javascript))</h1>

<hr>

<html:javascript formName="loginForm"/>

 <html:form action="login2.do" onsubmit="return validateLoginForm(this)">

      username : <html:text property="username"/><br/>

      password : <html:password property="password"/><br>

   <html:submit/>

  </html:form>

 

25、声明式异常

 

Action

UserManager.getInstance().login(username, password);

       return mapping.findForward("success");

 

业务逻辑记得先建立两个异常类

    public void login(String username, String password) {

//     if (!"admin".equals(username)) {

//         throw new UserNotFoundException();

//     }

//     if (!"admin".equals(password)) {

//         throw new PasswordErrorException();

//     }

//  }

 

Struts配置文件中

 

定义全局异常

 

<global-exceptions>

    <!-- 全局异常

           <exception key="user.not.found" type="com.bjsxt.struts.UserNotFoundException" path="/login_error.jsp"/>

           <exception key="user.password.error" type="com.bjsxt.struts.PasswordErrorException" path="/login_error.jsp"/>

     -->

 

定义action

<action-mappings>

       <action path="/login"

              type="com.bjsxt.struts.LoginAction"

              name="loginForm"

              scope="request"

              validate="false"

              input="/login.jsp"<!-- 默认异常转向 -->

       >  

       <!--

           <exception key="user.not.found" type="com.bjsxt.struts.UserNotFoundException" path="/login_error.jsp"/>

           <exception key="user.password.error" type="com.bjsxt.struts.PasswordErrorException" path="/login_error.jsp"/>

        -->  

           <forward name="success" path="/login_success.jsp"/>

           <forward name="error" path="/login.jsp"/>

       </action>

 

Jsp页面

<html:errors/>

 

声明式异常传递一个站位附的办法

 

异常类中

public class UserNotFoundException extends RuntimeException {

 

    public UserNotFoundException(String msg) {

       super(msg);

    }

}

 

业务调用中

 

public void login(String username, String password) {

//     if (!"admin".equals(username)) {

//         throw new UserNotFoundException(username);

//     }

//     if (!"admin".equals(password)) {

//         throw new PasswordErrorException();

//     }

//  }

 

26、个性化异常处理

 

建立资源文件

 

user.login.success={0},登录成功

user.not.found=用户不能找到,用户名称=[{0}]

user.password.error=密码错误

user.login.error=登录失败

 

建立一个异常处理类

 

public class ErrorCodeException extends RuntimeException {

   

    private String errorCode;

   

    private Object[] args;

    //没有占位符

    public ErrorCodeException(String errorCode) {

       this(errorCode, null);

    }

    //有一个占位符的

    public ErrorCodeException(String errorCode, Object args0) {

       this(errorCode, new Object[]{args0});

    }

    //有多个占位符的

    public ErrorCodeException(String errorCode, Object[] args) {

       this.errorCode = errorCode;

       this.args = args;

    }

   

    public String getErrorCode() {

       return errorCode;

    }

 

    public Object[] getArgs() {

       return args;

    }

}

 

业务调用类

 

public void login(String username, String password) {

//     if (!"admin".equals(username)) {

//         throw new ErrorCodeException("user.not.found", username);

struts1.x | 阅读 857 次
文章评论,共0条
游客请输入验证码