引言:这是一个关于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