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

struts2学习之五(最基本的)输入校验

阅读更多

一、register.jsp注册页面

//以下第一两句 的作用是输出struts中的filderror中的错误信息!
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:fielderror></s:fielderror>

<body>
		<s:fielderror></s:fielderror>
		<form action="register.action" method="post">

			<table align="center" width="40%" border="1">

				<tr>

					<td>
						username
					</td>

					<td>
						<input type="text" name="username" value=${username}>
					</td>
				</tr>

				<tr>
					<td>
						password
					</td>

					<td>
						<input type="password" name="password">
					</td>
				</tr>


				<tr>
					<td>
						re-password
					</td>

					<td>
						<input type="password" name="repassword">
					</td>
				</tr>

				<tr>
					<td>
						age
					</td>

					<td>
						<input type="text" name="age" value=${age}>
					</td>
				</tr>

				<tr>
					<td>
						birthday
					</td>

					<td>
						<input type="text" name="birthday" value=${birthday}>
					</td>
				</tr>

				<tr>
					<td>
						graduation
					</td>

					<td>
						<input type="text" name="graduation"value=${graduation}>					</td>
				</tr>

				<tr>
					<td>
						<input type="submit" value=" submit ">
					</td>

					<td>
						<input type="reset" value=" reset ">
					</td>
				</tr>
			</table>
		</form>


	</body>
</html>

 二、success.jsp成功返回页面

<body>
  <table align="center" width="40%" border="1">
				<tr>
					<td>
						username
					</td>

					<td>
						${requestScope.username}
					</td>
				</tr>

				<tr>
					<td>
						password
					</td>

					<td>
						${requestScope.password}
					</td>
				</tr>


				<tr>
					<td>
						age
					</td>

					<td>
						${requestScope.age}
					</td>
				</tr>

				<tr>
					<td>
						birthday
					</td>

					<td>
						${requestScope.birthday}
					</td>
				</tr>

				<tr>
					<td>
						graduation
					</td>

					<td>
						${requestScope.graduation}
					</td>
				</tr>

			</table>
 
  </body>

 

 

 三、struts.xml

		<action name="register" class="com.test.action.RegisterAction">
			<result name="success">/success.jsp</result>
                       <!--一旦校验错误的话,struts会转到input指向的页面-->
			<result name="input">/register.jsp</result>
		</action>

 

四、输入校验RegisterAction.java  (extends ActionSupport)

 

public class RegisterAction extends ActionSupport
{
	private String username;

	private String password;

	private String repassword;

	private int age;

	private Date birthday;

	private Date graduation;

	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 getGraduation()
	{
		return graduation;
	}

	public void setGraduation(Date graduation)
	{
		this.graduation = graduation;
	}

	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}
	
	@Override
	public void validate()
	{
		System.out.println("validate~~~~~~~~~~~~~~~~~~~");
		
		if(null == username || username.length() < 6 || username.length() > 10)
		{
			this.addFieldError("username","username invalid");
		}
		if(null == password || password.length() < 6 || password.length() > 10)
		{
			this.addFieldError("password","password invalid");
		}
		else if(null == repassword || repassword.length() < 6 || repassword.length() > 10)
		{
			this.addFieldError("repassword","re-password invalid");
		}
		else if(!password.equals(repassword))
		{
			this.addFieldError("password","two passwords not the same");
		}
		if(age < 1 || age > 150)
		{
			this.addFieldError("age","age invalid");
		}
		if(null == birthday)
		{
			this.addFieldError("birthday","birthday invalid");
		}
		if(null == graduation)
		{
			this.addFieldError("graduation","graduation invalid");
		}
		if(null != birthday && null != graduation)
		{
			Calendar c1 = Calendar.getInstance();
			c1.setTime(birthday);
			
			Calendar c2 = Calendar.getInstance();
			c2.setTime(graduation);
			
			if(!c1.before(c2))
			{
				this.addFieldError("birthday","birthday should be before graduation");
			}
		}
		
	}
}

 

分享到:
评论

相关推荐

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    struts2登录,以及输入校验的demo

    这个"struts2登录,以及输入校验的demo"是一个基础的实例,它展示了如何在Struts2中实现用户登录功能,并进行输入验证,确保数据的正确性和安全性。 首先,我们来看Struts2的核心组成部分: 1. **Action类**:这是...

    struts 2 基础2__继承ActionSupport完成输入校验

    在基础的Struts2应用中,我们常常会继承`ActionSupport`类来实现输入校验,从而提高代码的复用性和可维护性。 `ActionSupport`是Struts2提供的一种基础Action实现,它包含了默认的行为,如错误处理、国际化支持和...

    struts2校验器与校验框架精彩学习笔记

    "04校验框架.doc"可能涵盖了Struts2校验框架的基本用法,包括XML配置、自定义校验规则、错误处理等方面的内容。而"03输入校验.doc"则可能侧重于实际的用户输入验证,探讨如何通过校验器确保用户提交的数据符合预期。...

    struts2学习笔记.doc

    - **框架原理**:Struts2提供了强大的输入校验功能,可以自动检查用户提交的数据是否符合预期。 - **配置方式**: - 使用注解方式(适用于Struts2较新版本)。 - 在`struts.xml`或Action类中通过配置文件的方式...

    struts2学习笔记

    5. **类型转换与输入校验**:Struts2在类型转换过程中也会进行基本的校验,如检查非空、数值范围等。 **四.Struts2的核心:拦截器** 拦截器是Struts2的核心组件,它们在Action执行前后介入处理流程。拦截器可以...

    struts2学习笔记三(第3讲.Struts2的类型转换)

    在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...

    struts用户注册登录用校验器校验信息

    Struts 是一个经典的Java Web...通过这个例子,开发者可以学习到如何在实际项目中运用Struts进行用户输入的验证,以及如何结合数据库实现用户管理功能。这不仅有助于提升程序的健壮性,还能提高用户对系统的信任度。

    struts2学习心得

    ### Struts2学习心得:数据类型转换与校验方式 #### 一、Struts2框架简介 Struts2是基于MVC(Model-View-Controller)设计模式的Java Web开发框架,它为开发者提供了一种简洁高效的方式来构建复杂的Web应用程序。...

    Struts2简单数据校验源码

    总之,Struts2的数据校验机制是其强大功能之一,它帮助开发者有效地管理用户输入,保证数据的准确性和完整性。通过深入研究“Struts2_1100_SimpleDataValiation”源码,你可以掌握Struts2数据校验的基本原理和实践...

    Struts2数据校验

    Struts2 数据校验是Java Web...学习并熟练掌握Struts2的数据校验,不仅可以提升开发效率,还能帮助开发者编写出更加健壮、可靠的Web应用。因此,无论你是初学者还是经验丰富的开发者,都应该深入理解和实践这一功能。

    留言板留言板struts2留言板struts2

    这个项目可能包含了Action编写、视图渲染、用户交互、数据验证等基本功能,是学习和理解Struts2框架的一个很好的实践案例。通过分析和运行这个项目,可以深入理解Struts2的工作原理及其在实际应用中的运用。

    Struts2学习文档

    **6.2 基本输入校验** - **6.2.1 编写校验规则文件** - **实现方式**:如何编写校验规则文件,以定义各种校验规则。 - **6.2.2 服务器校验,编写校验规则文件,并国际化提示信息** - **实现方式**:如何在服务器...

    struts2简单例子

    通过学习和实践这个“struts2简单例子”,开发者可以逐步掌握Struts2的基本用法,为更复杂的Web应用开发打下坚实基础。记得不断探索Struts2的高级特性,如OGNL表达式、插件扩展等,以提升应用的灵活性和可维护性。

    传智播客struts2教程

    学习Struts2不仅需要理解这些基本概念,还要掌握Action的生命周期、拦截器链的工作原理、国际化处理、文件上传下载等功能。此外,整合Spring框架以实现依赖注入,以及与Hibernate等ORM框架集成进行数据库操作,也是...

    struts2入门的学习资料.pdf

    这些知识点构成了Struts2的基本框架,通过学习和实践,开发者能够有效地构建功能丰富的Web应用。在实际开发中,还需要理解拦截器、结果类型、插件机制、异常处理等更多高级特性和最佳实践,以提升开发效率和代码质量...

    struts2学习资料

    3. **Struts2输入校验**: Struts2提供了一种灵活的输入验证机制,可以在Action级别或者全局级别进行数据校验,避免无效数据进入系统。 4. **文件上传与下载**: Struts2支持文件上传和下载功能,利用`commons-...

    传智播客Struts2学习资料

    通过学习这些笔记和代码示例,你不仅可以了解Struts2的基本工作原理,还能掌握实际开发中的常见应用场景,为你的Java Web开发之路打下坚实的基础。在实际学习过程中,建议结合视频教程,动手实践,遇到问题时查阅...

Global site tag (gtag.js) - Google Analytics