码迷,mamicode.com
首页 > 其他好文 > 详细

struts2-4-登录校验(用户类型)

时间:2016-09-28 22:40:35      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

一:登录页面:login.jsp

技术分享
 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <%@ taglib prefix="s" uri="/struts-tags"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 8 <title>登录页面</title>
 9 </head>
10 <body>
11  <s:fielderror escape="false"></s:fielderror>
12  <font color="red">${requestScope.error}</font>
13  <form action="loginReg" method="post" >
14   用户名:<input type="text" name="username"><br>
15   密码:<input type="text" name="password"><br>
用户类型:
  <select  name="userType">
     <option value="管理员">管理员</option>
     <option value="普通用户">普通用户</option>
   </select>
16  <input type="submit" value="登录">
17  </form>
18 </body>
19 </html>
技术分享

 

 

二:跳转到action   nuc.sw.action-->LoginRegAction

技术分享
 1 package nuc.sw.action;
 2 
 3 import com.opensymphony.xwork2.ActionContext;
 4 import com.opensymphony.xwork2.ActionSupport;
 5 
 6 public class LoginRegAction extends ActionSupport{
 7     private String username;
 8     private String password;
 9     private String userType;
10     public String getUsername() {
11         return username;
12     }
13 
14     public void setUsername(String username) {
15         this.username = username;
16     }
17 
18     public String getPassword() {
19         return password;
20     }
21 
22     public void setPassword(String password) {
23         this.password = password;
24     }
25   public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}
26     @Override
27     public String execute() throws Exception {
28 //    public String LoginMethod() throws Exception {
29         // TODO Auto-generated method stub
30         //登录逻辑
31         if(username.equals("zd")&&password.equals("123")){
32             ActionContext.getContext().getSession().put("user", username);
33             ActionContext.getContext().getSession().put("pass", password);
                ActionContext.getContext().getSession().put("type", userType);
34             return SUCCESS;
35         }
36         else{
37             
38             ActionContext.getContext().put("error", "用户名或者密码错误");
39             return ERROR;
40         }
41         
42     }
43     @Override
44     public void validate() {
45         // TODO Auto-generated method stub
46         if(username==null||username.trim().equals(""))
47             this.addFieldError("usernameError",  "<font color=‘red‘>用户名不能为空</font>");
48         if(password==null||password.trim().equals(""))
49             this.addFieldError("passwordError",  "<font color=‘red‘>密码不能为空</font>");
50         
51     }
52 }
技术分享

 

 

三:修改配置文件struts.xml

技术分享
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 
 6 <struts>
 7  <constant name="struts.devMode" value="true" />
 8  <package name="default" namespace="/" extends="struts-default">
 9     <action name="loginReg" class="nuc.sw.action.LoginRegAction">
10          <result name="success">/welcome.jsp</result>
11          <result name="error">/login.jsp</result>
12          <result name="input">/login.jsp</result>
13      </action>
14  </package>
15     <!-- Add packages here -->
16 </struts>
技术分享

 

 

四:登录成功页面   welcome.jsp

技术分享
 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 欢迎${sessionScope.type}${sessionScope.user}登录;
11 </body>
12 </html>
技术分享

 

 

 

五:action标签的method属性的取值

 1 public String LoginMethod() throws Exception  去@override 

1 <action name="loginReg" class="nuc.sw.action.LoginRegAction" method="LoginMethod">

 

 

六:使用ActionSupport所提供的方法

技术分享
1 @Override
2     public void validate() {
3         // TODO Auto-generated method stub
4         if(username==null||username.trim().equals(""))
5             this.addFieldError("usernameError", "用户名不能为空");
6         if(password==null||password.trim().equals(""))
7             this.addFieldError("passwordError", "密码不能为空");
8         
9     }
技术分享

 

 

七:修改struts.xml  获取校验的数据

 1 <result name="input">/login.jsp</result> 

 

 

八:修改login.jsp 在登录页面显示错误信息

1  <%@ taglib prefix="s" uri="/struts-tags"%>
2 <s:fielderror escape="false"></s:fielderror>

 

 

九:项目结构:

技术分享

 

 

十:运行结果:

 

 

 技术分享

 

正确:

 

 技术分享技术分享

 

 

 技术分享?

 

技术分享

 

技术分享

错误:

 技术分享

技术分享

 

 

 

数据校验:

技术分享

技术分享

 

 

技术分享

 

技术分享

 

 

 

 技术分享

技术分享

struts2-4-登录校验(用户类型)

标签:

原文地址:http://www.cnblogs.com/Z-D-/p/5918069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!