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







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