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