Struts2 登錄DEMO

      引言:這是一個關於Struts2的簡單登錄界面,下面我們一起來看看代碼的構成,相互學習學習...

     代碼結構圖如下:

     可以看出貌似和servlet的登錄DEMO相比就多了一個struts.xml文件。

    下面我依次來介紹下各個文件的大致內容,

    web.xml:

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

struts.xml:

<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.action.LoginAction">
<result name="success">/success.jsp</result>
<result name="fail">/index.jsp</result>
</action>
</package>
</struts>

index.jsp:

<body>
		<form id="formId" action="login.action" method="post">
		<input type="hidden" id="errMsg" name="errMsg" value='${errMsg}' />
			<table>
				<tr>
					<td>用戶名	</td>
					<td><input type="text" id="name" name="name"></td>
				</tr>
				<tr>
					<td>密碼</td>
					<td><input type="password" id="password" name="password"></td>
				</tr>
				<tr>
					<td><input type="submit" value="登錄" /></td>
				</tr>
			</table>
		</form>
	</body>
	<script type="text/javascript">
	var errMsg=document.getElementById("errMsg").value;
	if(errMsg!=null&&errMsg!=''){
	alert(errMsg);
	}
</script>

    這裏需要注意的是action="login.action"裏面的login必須和struts.xml裏面的name="login"保持一致,這樣頁面提交的時候才能找到對應的Action。

在此期間遇到了這樣的一個問題,我最開始把<script type="text/javascript">裏面的內容寫在了body的上面,就一直沒法得到errMsg的值,後來問同事才知道,有可能是在獲得的時候,頁面還沒有加載完全,所以還沒法得到errMsg,最後我就將它移到下面來就可以了,讓errMsg先加載出來,我再取值。

LoginAction.java:

public class LoginAction {
public String name;
public String password;
public String errMsg;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getErrMsg() {
	return errMsg;
}
public void setErrMsg(String errMsg) {
	this.errMsg = errMsg;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
 public String execute(){//頁面提交後默認執行的方法
	 if("zwm".equals(name)&&"1".equals(password)){
		 return "success";
	 }else{
		 errMsg=" 密碼或用戶名不正確,請重新登錄";
		 return "fail";
	 }
 }  
}

success.jsp:

<td>歡迎${name}登錄</td>

DEMO下載地址http://download.csdn.net/detail/javaweiming/7029217







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