Struts2 简单数据验证

1、struts.xml

<struts>
 <constant name="struts.devMode" value="false" /> 
 <constant name="struts.enable.DynamicMethodInvocation" value="true" />
 <constant name="struts.i18n.encoding" value="utf-8"></constant>
 <package name="user"  extends="struts-default">                 
        <action name="user" class="com.wxh.action.UserAction" >
            <result >/useraddsuccess.jsp</result>
            <result name="error">/addError.jsp</result>
        </action>         
  </package>   
</struts>

2、UserAction.java

package com.wxh.action;
 
import com.opensymphony.xwork2.ActionSupport;

public  class UserAction extends ActionSupport{

private static final long serialVersionUID = 1L; 
		
	private String name;
	public String add(){
//逻辑判断
		if(name==null || !name.equals("admin")){
			this.addFieldError("name", "name is error");
			this.addFieldError("name", "name is too long");
			return ERROR;//返回到result的name为“ERROR”所指定的jsp页面。
		}
		return SUCCESS;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}	
}


3、index.jsp

<body>
使用addFieldError方法和s:fieldError标签简单处理数据校验<a href="user!add?name=小王">添加用户</a>
</body>

4、addError.jsp

<%@taglib uri="/struts-tags" prefix="s" %><!--用到ognl表达式时需要这句-->
<body>
User Add Error!
<s:fielderror fieldName="name" theme="simple"/>
<br/>
<s:property value="error.name[0]"/>
<s:debug></s:debug>
</body>



验证用户名和密码实验:

index.jsp

<body>
	<form name="form1" method="get" action="login">
		用户名:<input name="username" type="text"><br />
		 密码:<input name="userpwd" type="password"><br />
		  <input name="submit"type="submit" value="提交">
		  <input name="submit2" type="reset"value="重置">
	</form>
</body>


struts.xml

<package name="default" namespace="/" extends="struts-default">      
        <action name="login" class="com.user.action.UserAction">
            <result name="success">/success.jsp</result>
            <result name="failure">/failure.jsp</result>
        </action>
    </package> 

UserAction

package com.user.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
	private String username;//定义username变量
	private String userpwd;//定义userpwd变量
	//分别为它们创建set和get方法
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpwd() {
		return userpwd;
	}
	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
	@Override
	//定义一个执行方法,可在里面加入判断
	public String execute() throws Exception {
		//判断接收的密码是否和123456相同,相同返回success结果到struts.xml
		//失败则返回回failure结果到struts.xml
		if(userpwd.equals("123456")){
			return "success";
		}else{
			return "failure";
		}
	}
}



带权限的验证

index.jsp

<body>  
    <form name="form1" method="get" action="login">  
        用户名:<input name="username" type="text"><br/>  
         密码:<input name="userpwd" type="password"><br/>          
         权限:<input type="radio" value="admin" name="type">管理员 
         <input type="radio" value="teacher" name="type"> 教师
         <input type="radio" value="student" name="type">学生<br>         
           <input name="submit" type="submit" value="提交">  
          <input name="submit2" type="reset" value="重置">     
    </form>  
</body> 


struts.xml

 <constant name="struts.devMode" value="false" />   
 <constant name="struts.enable.DynamicMethodInvocation" value="true" />  
 <constant name="struts.i18n.encoding" value="utf-8"></constant>  
 <package name="default" namespace="/" extends="struts-default">      
        <action name="login" class="com.user.action.UserAction">
            <result name="success">/success.jsp</result>
            <result name="failure">/failure.jsp</result>
            <result name="admin">/admin.jsp</result>
            <result name="student">/student.jsp</result>
            <result name="teacher">/teacher.jsp</result>
        </action>
        <action name="hello">  
            <result>    
            /hello.jsp                
            </result>  
        </action> 
    </package> 


UserAction.java

package com.user.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
	private String username;//定义username变量
	private String userpwd;//定义userpwd变量
	//分别为它们创建set和get方法
	private String type;//定义权限类型
	
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpwd() {
		return userpwd;
	}
	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
	@Override
	//定义一个执行方法,可在里面加入判断
	public String execute() throws Exception {
		//判断接收的密码是否和123456相同,相同返回success结果到struts.xml
		//失败则返回回failure结果到struts.xml				
		
		if( userpwd.equals("123") ){
			if(type.equals("admin"))
				return "admin";			
			if(type.equals("teacher"))
					return "teacher";			 
			}
					
		if	(type.equals("student")&& userpwd.equals("123") )				
			return "student";
		
			return "failure";		
	}	
}


带权限的验证第二种方法:

UserAction

package com.user.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
	private String username;//定义username变量
	private String userpwd;//定义userpwd变量
	//分别为它们创建set和get方法
	private String type;//定义权限类型	
	
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpwd() {
		return userpwd;
	}
	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
	@Override
	//定义一个执行方法,可在里面加入判断
	public String execute() throws Exception {
		//判断接收的密码是否和123456相同,相同返回success结果到struts.xml
		//失败则返回回failure结果到struts.xml				
		ActionContext ac=ActionContext.getContext();
		if( userpwd.equals("123") ){
			if(type.equals("admin"))
			{
				ac.put("type",type);
				return "true";
			}
			if(type.equals("teacher"))
			{	
				ac.put("type", type);	
				return "true";			 
			}					
		    if(type.equals("student"))
		    {
		    	ac.put("type", type);
		    	return "true";
		    }			
	}else{	
		return "false";
	}		
		return "false";
}

}

struts.xml

<package name="default" namespace="/" extends="struts-default">      
        <action name="login" class="com.user.action.UserAction">           
                <result name="true">/success.jsp</result>
                    <result name="false">/failure.jsp</result>            
        </action>
        <action name="hello">  
            <result>    
            /hello.jsp                
            </result>  
        </action> 
    </package> 


 success.jsp

<body>
欢迎${type}
</body>







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值