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中。便於維護。

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