struts2 实战 登陆验证

struts2有自有的标签

<s:form action="login" validate="true" class="form-signin">
<h2 class="form-signin-heading">管理员登录</h2>
 <s:textfield name="username" cssClass="form-control" placeholder="用户名"/>
 <s:textfield name="password" cssClass="form-control" placeholder="密码"/>
    <s:submit class="btn  btn-primary btn-block" value="登陆"/>
</s:form>

这是我们常用的登陆表单。在struts.xml设置拦截

<package name="login" namespace="/" extends="struts-default">
        <action name="login" class="com.user.Action.LoginAction">
            <result name="input">AdminLogin.jsp</result>
            <result name="SUCCESS">AdminLogin.jsp</result>
        </action>
    </package>

在实际的应用中。登陆时提示用户名或密码错误是必要的功能。

所以在

    public void validate() {
        if (用户名不对) {
            addFieldError("username", "用户名错误");
        }
    }

如果在validate方法并不通过,将直接返回input结果在加入错误的提示,在struts.xml对input结果进行设置结果

    <result name="input">AdminLogin.jsp</result>

还是本页面。
并且在登陆的页面中加入下面代码,

<s:if test="hasFieldErrors()"> 
 <s:iterator value="fieldErrors"> 
  <s:iterator value="value"> 
   <script language="JavaScript"> 
    alert('<s:property/>'); 
   </script>    
  </s:iterator>   
 </s:iterator>  
 </s:if> 

如果有错误将用js进行弹窗提示。通过struts框架,使得jsp文件中的逻辑代码几乎全部转移到action中。便于维护。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章