Struts2 简单数据验证

来源:互联网 发布:js文件上传原理 编辑:程序博客网 时间:2024/05/17 02:41

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.xmlif(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.xmlif( 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.xmlActionContext 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
原创粉丝点击