Struts2之输入验证
2015-12-01 22:17
429 查看
摘要:Struts2提供了安全的服务器验证方法,使用action中的validate方法即可
下面将展现简单的输入验证怎么写
注:name="input"是在Action模型装换异常或validate方法验证发生异常时自动转换页面,此处为index.jsp
下面将展现简单的输入验证怎么写
1,表单index.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <h1> 学生信息 </h1> <s:form action="st" method="post"> <s:textfield name="name" label="姓名"></s:textfield> <s:textfield name="age" label="年龄"></s:textfield> <s:textfield name="mark" label="分数"></s:textfield> <s:textfield name="enrolltime" label="入学时间"></s:textfield> <tr> <td align="center" colspan="2"> <input type="submit" value="提交"/> <input type="reset" value="重置"/> </td> </tr> </s:form> </body> </html>
2,编写Student类来接受表单参数,代码如下:
package pojo; import java.util.Date; public class Student { private String name; private int age; private double mark; private Date enrolltime; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getMark() { return mark; } public void setMark(double mark) { this.mark = mark; } public Date getEnrolltime() { return enrolltime; } public void setEnrolltime(Date enrolltime) { this.enrolltime = enrolltime; } }
3,Action代码如下:
package action; import pojo.Student; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class StuAction extends ActionSupport implements ModelDriven<Student>{ private Student student=new Student(); @Override public Student getModel() { // TODO Auto-generated method stub return student; } @Override public String execute() throws Exception { System.out.println(student.getName()); System.out.println(student.getAge()); System.out.println(student.getMark()); System.out.println(student.getEnrolltime()); return SUCCESS; } }
4,struts.xml配置如下:
<?xml version="1.0" encoding="GBK" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="actions" extends="struts-default"> <action name="st" class="action.StuAction"> <result name="input">/index.jsp</result> <result>/Success.jsp</result> </action> </package> </struts>
注:name="input"是在Action模型装换异常或validate方法验证发生异常时自动转换页面,此处为index.jsp
5,Action正确执行后的Success.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'Success.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <h1>消息显示</h1> <s:property value="name"/><br/> <s:property value="age"/><br/> <s:property value="mark"/><br/> <s:property value="enrolltime"/><br/> </body> </html>
相关文章推荐
- struts2DMI(动态方法调用)
- Java实现Excel导入数据库,数据库中的数据导入到Excel
- java基础学习——循环结构(while,do-while,for)
- Java制作证书的工具keytool用法总结
- Java多线程-synchronized关键字
- Java线程Thread中的同步块synchronized
- 异常解决:java.net.ConnectException: Call To Master/127.0.0.1:9000 failed on connection exception
- Java拾遗(一):浅析Java子类和父类的实例化顺序 及 陷阱
- Java虚拟机2:Java内存区域及对象
- Java对象表示方式2:XStream实现对对象的XML化
- Java lambda内容的介绍
- 水仙花数Java
- spring namespacehandler问题
- Android stadio导入eclipse项目
- Eclipse快捷键大全(转载)
- eclipse安装ADT问题
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- 第二章 Java语言基础(2)
- Java Enum
- android studio导入eclipse项目方式及相关问题解决办法