`
lijunaccp
  • 浏览: 160525 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

类型转换与输入校验总结

阅读更多
一, struts2标签可以保留输入信息
1. register2.jsp
注:可以不用<s:form >标签的默认布局,如<s:form theme=”simple”>就变成普通的html标签了
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<s:form action="register">
		<s:textfield name="username" label="username"></s:textfield>
		<s:password name="password" label="password"></s:password>
		<s:password name="repassword" label="repassword"></s:password>
		<s:textfield name="age" label="age"></s:textfield>
		<s:textfield name="birthday" label="birthday"></s:textfield>
		<s:textfield name="graduaction" label="graduaction"></s:textfield>
		<s:submit value="submit"></s:submit>
	</s:form>
</body>
</html>

二,Action中属性驱动(PropertyDriven)和模型驱动(ModelDriven)

1. 属性驱动(PropertyDriven)就是Action中的成员变量
2. 模型驱动(ModelDriven)
2.1 register2.jsp
2.2 struts.xml
<action name="register" class="com.test.action.RegisterAction2">
			<result name="success">/success.jsp</result>
			<result name="input">/register2.jsp</result>
</action>

2.3 RegisterAction2.java
package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.test.bean.User;

public class RegisterAction2 extends ActionSupport implements ModelDriven<User> {
	
	private User user=new User();

	@Override
	public User getModel() {
		return user;
	}
	
	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}
}

2.4 User.java
package com.test.bean;

import java.util.Date;

public class User {

	private String username;
	private String password;
	private String repassword;
	private int age;
	private Date birthday;
	private Date graduaction;
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getRepassword() {
		return repassword;
	}
	public void setRepassword(String repassword) {
		this.repassword = repassword;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public Date getGraduaction() {
		return graduaction;
	}
	public void setGraduaction(Date graduaction) {
		this.graduaction = graduaction;
	}
}

三,Action中执行execute()之前准备工作的单独实现
1. RegisterAction2.java
package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
import com.test.bean.User;

public class RegisterAction2 extends ActionSupport implements ModelDriven<User>,Preparable {
	
	private User user=new User();

	@Override
	public User getModel() {
		return user;
	}
	
	@Override
	public void prepare() throws Exception {
		System.out.println("prepare");
	}
	
	@Override
	public String execute() throws Exception {
		System.out.println("execute");
		return SUCCESS;
	}
}

注:执行顺序是prepare方法最先执行,再执行类型转换,输入校验,execute()




分享到:
评论

相关推荐

    Struts2输入校验总结

    2. **异常处理与错误封装**:如果类型转换过程中遇到问题,如无法正确转换数据类型,会抛出异常。这些异常会被捕获并封装到`fieldError`对象中,存储在`ActionContext`中,以便后续的拦截器处理。 3. **反射调用...

    struts2输入校验总结

    总结,Struts2的输入校验机制提供了手动和自动两种方式,结合配置文件和内置校验器,能够实现灵活且强大的数据校验,有效地防止了非法数据的流入,提升了系统的安全性。在实际开发中,开发者可以根据业务需求选择...

    struts2类型转换 拦截器 校验的例子

    Struts2是一个强大的Java ...总结来说,Struts2的类型转换、拦截器和校验机制是构建健壮、可维护的Java web应用程序的重要工具。理解并熟练运用这些概念,能让你更好地利用Struts2框架,提高开发效率,确保应用的质量。

    SpringMVC-8 数据类型转换、数据格式化与数据校验

    总结来说,Spring MVC提供了全面的数据处理能力,从类型转换到格式化再到校验,覆盖了数据生命周期的各个阶段。通过RESTful CRUD操作,我们可以构建出符合现代Web标准的服务接口。了解并熟练掌握这些知识点,将极大...

    WPF之绑定数据校验和类型转换实例

    总结一下,WPF的数据绑定机制提供了强大的数据交互能力,数据校验确保了输入的合法性,而类型转换则解决了不同数据类型之间的转换问题。这些都是开发高质量、健壮的WPF应用必不可少的技能。通过学习和实践这些技术,...

    struts2校验器类型详解

    ### Struts2校验器类型详解 #### 一、Struts2内建...无论是简单的非空校验还是复杂的类型转换和模式匹配,这些校验器都能满足开发者的不同需求。合理利用这些校验器不仅能够提升应用的质量,还能显著提高开发效率。

    springmvc注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证

    总结来说,Spring MVC的注解式控制器提供了强大的数据验证、类型转换和格式化功能,简化了Web开发过程,提升了应用的安全性和用户体验。通过合理利用这些特性,开发者可以构建更加健壮、易于维护的Web应用。

    CRC16 MODBUS校验算法实现

    总结来说,CRC16 MODBUS校验算法实现涉及了字符串和字节数组的处理,以及基于生成多项式的位操作。这种校验方法在Java环境中可以通过自定义函数实现,确保MODBUS协议的数据传输可靠性。通过分析CRCStrTest.java和...

    JS表单验证 JS校验代码 JS数据类型校验

    总结,JS表单验证和数据类型校验是Web开发中的基础技能,通过`validateForm.js`这样的工具,我们可以更高效地实现表单的统一验证,提高用户体验,并确保数据的准确性。同时,了解并熟练运用这些技术,对于提升Web...

    struts2笔记之校验表单信息

    **二、基于Annotation的输入校验** Struts2提供了许多注解,位于`com.opensymphony.xwork2.validator.annotations`包下,可以直接在Action类的setter方法上使用这些注解进行校验。例如,使用`@NotEmpty`、`@Email`...

    EAN-13码、ITF-14码等的校验位计算

    与EAN-13码不同,ITF-14码的条纹结构更简单,但校验位的计算方式类似。 校验位的计算原则是"偶三奇一和",这意味着对于EAN-13和ITF-14码,会分别对偶数位置和奇数位置的数字进行加权处理。偶数位置的数字乘以3,...

    c#奇偶校验的例子c#奇偶校验的例子

    在这个例子中,我们首先将输入字符串转换为`BitArray`,然后遍历每一位,统计1的个数。最后根据统计结果判断奇偶性。 三、.NET框架中的奇偶校验功能 .NET框架提供了一些内置的类,如`System.IO.Ports.Parity`,...

    J2EE课堂小测试_答案

    J2EE课堂小测试答案是基于Struts2框架的知识点总结,涵盖了Struts2的运行原理、Action接口和ActionSupport类、Action的默认处理类、多动作处理、结果类型、全局结果和局部结果、属性驱动和模型驱动、表现层数据处理...

    VB编写的检验数值类型

    描述中提到“实现校验输入的内容是否为数值类型,比VB自带函数要完善”,暗示了这个功能可能比VB标准库中提供的内置函数如IsNumeric更加强大和全面。IsNumeric函数可以检查一个字符串是否能转换为数字,但并不完全...

    单位组织机构代码校验函数(oracle)

    - 获取组织机构代码最后一位字符`C`,将其转换为数字并与计算出的校验码进行比较。 - 若不一致,则返回`0`;一致则返回`1`。 ### 4. 示例分析 假设有一个组织机构代码为`12345678-9`,我们来逐步分析该函数是...

    struts2学习笔记

    总结起来,Struts2是一个功能丰富的Java web开发框架,它的环境搭建、类型转换、输入校验、拦截器机制、国际化支持以及与Servlet API的整合,为开发者提供了强大且灵活的工具,帮助构建高效、可维护的Web应用。...

    CRC16码 labview

    如果是处理串口通信,可以将接收到的每个字节依次输入CRC函数,最后的CRC值与预期值进行比较,如果不一致,则表明数据传输过程中存在错误。 LabVIEW中的CRC16计算不仅限于字符串,还可以处理其他类型的数据,如整数...

    JavaScript校验设计.zip

    3. **数值验证**:例如检查输入是否为整数、浮点数或者在特定范围内,可以使用isNaN()函数、parseInt()和parseFloat()进行转换,以及比较运算符来实现。 4. **正则表达式验证**:JavaScript支持正则表达式,可以...

    castor解析xml与xsd校验xml

    4. **解析XML到Java对象**:使用`Unmarshaller`接口实例化的对象,调用`unmarshal()`方法,传入XML文件或输入流,即可将XML转换为Java对象。例如: ```java File xmlFile = new File("path/to/xml/file.xml"); ...

Global site tag (gtag.js) - Google Analytics