ActionForm的校验
<struts-config>
<form-beans>
<form-bean name="xxx" type="ActionForm的类全名">
<form-bean name="LoginForm" type="basic.LoginForm">
<!--配置ActionForm类-->
</form-beans>
<action-mappings>
<action path="/basic/login" type="alan.struts.basic.LoginAction"
name="xxx" scope="request|sessio(默认值)Form的保存空间">
<forward name="success" path="/basic/success.jsp"/>
<forward name="fail" path="/basic/fail.jsp" redirect="false"(重定向,默认false)/>
</action>
<action-mappings>
</struts-config>
ActionForm的校验是struts提供的一项类似于Javascript的表单校验的功能。他可以验证用户填写的表单数据的正确性。
ActionForm的校验,如果表单中的数据符不符合规定格式的要求,ActionForm的validate()方法会返回一个ActionError对象,ActionError对象中封装了一个或多个应用发现的校验错误,每一个错误有一个ActionMessage对象表达,我们可以通过判断这个ActionError的对象是否为空,如果为空那么表单的数据符合格式要求,不为空就是表单项中就有不符合格式要求的项。
struts标签
在使用struts标签的JSP页面中要先加上以下的标签库的引用
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<bean:message key="errors.username.required">这个标签可以从指定的资源文件中根据指定的key值来取得可以对应的值,但是需要在struts-config.xml中进行配置。
配置资源,这些资源可以在ActionMessage中使用,也就是在构造ActionMessage是指定资源文件中的key这样,在发现校验错误时,就可以先在资源文件中指定的key的值了。可以使用struts的<html:errors>
<html:message>、<bean:message>标签都可以显示指定错误的消息。
<struts-config>
.....
<message-resources parameter="alan.struts.message.MessageResource" />
<!--使用message标签时配置资源文件的位置-->
</struts-config>
struts会自动的判断返回ActionError是否为空,如果是空可以自动的转向指定页面,也可以强制不进行校验,虽然可以在Form中不去覆盖validate()方法,但是那样是不可取的。要实现上面提得到功能还需要在struts-config中配置。
<action path="/basic-validate/login" type="alan.struts.basic.LoginAction"
name="loginValidateForm" scope="request"
validate="true" input="/basic-validate/login.jsp">
<!--scope可以指定Form的存放空间,默认为sessoin-->
<!--action标签中配置validate="false"可以不进行校验,input是指定校验出错跳转的页面-->
<forward name="success" path="/basic-validate/success.jsp"/>
<forward name="fail" path="/basic-validate/fail.jsp"/>
</action>
<html:message id="error"><!--id属性是ActionMessage存放在空间中的key-->
<h1>${error}</h1>
</html:message>
<html:errors>标签只会原样输出在ActionErrors中ActionMessage对应资源文件中对应的值。
<html:messages>标签还可以对输出在ActionError中ActionMessage对应资源文件中对应的值作一些显示效果的修改。
<bean:message key="xxx.xxx">标签只会取资源文件中指定key所对应的值,使用bean:message标签可以实现国际化。
struts的html标签
struts的html标签的使用类似于html标签,但是少有区别,指定类型的方式变成使用不同的标签,这样会绑定struts,所以旨在需要时使用。
<html:form method="post" action="/basic-validate/login">
<!--
struts的html标签中的action可以只写转到的actionpath,struts会在解析是自动添加需 要的部分
-->
<html:text property="userName" />
<html:password property="password" redisplay="false"/>
<!--redisplay="false"不进行回写,只有html:password标签可用-->
<html:radio property="hibbos">
<html:submit value="login" />
</html:form>
Struts预定义的Action类
注意:在使用继承Struts预定义的Action类,一定不要覆盖execute方法,否则会导致无法调用自定义Action相应方法。
分享到:
相关推荐
课程内容包括了Axis2的基础知识讲解,如以多种方式编写和发布WebService、JAX-RPC、JAX-WS的使用、复杂类型的传输、WebService会话管理和Axis2模块等关键概念。此外,教程通过三个实际项目加深理解,涵盖了使用Java ...
1. **Struts框架**: Struts是Apache软件基金会的一个开源项目,主要用于MVC(Model-View-Controller)架构的设计。在博客系统中,Struts负责处理用户请求,将HTTP请求映射到相应的Action类,执行业务逻辑,并通过...
知识点1: Spring Boot 框架 * Spring Boot 是一个基于 Spring 框架的快速应用程序开发框架,能够快速构建独立的、生产级别的基于 Spring 的应用程序。 * Spring Boot 제공了许多默认配置和 starter 依赖项,能够...
课程采用电子书教程、教学视频和QQ群辅导相结合的方式,确保学员能够全面掌握Axis2的核心技术,并逐步完成三个项目。在第一个实例中,将展示如何使用Plain Old Java Object(POJO)无配置地创建Web服务,这体现了...
- 国内知名的高端IT技术作家,出版过多本技术书籍,如《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等。 ### 知识点二:书籍...
Axis2是Apache Software Foundation旗下的一款WebService引擎,主要负责...总的来说,Axis2教程为WebService开发者提供了一套完善的学习体系,帮助他们从基础知识到实际应用,逐步深入理解和运用Axis2开发WebService。
- **Struts2视频教程**:Struts2是一个基于MVC模式的Java Web框架。 - **Hibernate4视频教程**:Hibernate是一个强大的对象-关系映射(ORM)框架,用于简化Java应用程序中的数据访问层。 - **Spring4视频教程**:...
第一部分涵盖了Axis2的基础知识,包括: 1. **以多种方式编写和发布Web服务**:Axis2支持通过POJO(Plain Old Java Object)来创建零配置的Web服务,简化了开发过程。 2. **JAX-RPC和JAX-WS**:这两种Java API允许...
整个课程通过详尽的电子书教程、教学视频和在线辅导,确保学员能够全面掌握Axis2的核心技能,并实际操作完成项目。学习过程中,你还将了解到如何利用 Axis2 支持的RESTful服务和Spring框架,以及如何监控SOAP请求和...
该资源是一个基于JAVA_JSP、Struts2框架和SQL Server数据库的企业合同管理系统,包含了完整的源码、数据库SQL脚本、相关论文以及辅导视频,对于学习和理解企业级应用开发具有很高的参考价值。以下将详细阐述其中涉及...
第二个项目使用Struts 2.1.6(目前Struts 2的最新版,2009年1月发布)来实现PIM。功能与第一个PIM类似。只是这个系统为Web版。在这个项目中学员可以学习到如果将 WebService应用在Web程序中。该系统的主要思想是如果...
《基于SSH的婴幼儿产品销售系统》是一个典型的Java毕业设计项目,它涵盖了软件工程中的多个重要知识点,包括系统架构设计、数据库管理、Web开发等。在这个项目中,SSH框架被广泛运用,SSH指的是Spring、Struts和...
下面将详细介绍这个系统的相关知识点。 1. **Java编程语言**: Java是这个系统的核心开发语言,它是一种面向对象的、跨平台的编程语言,具有高度的可移植性和安全性。在这个项目中,Java被用于构建后端逻辑,处理...
课程分为两大部分:第一部分是Axis2基础知识的讲解,涵盖上述各项技术要点;第二部分则通过三个实际项目来加深理解。这三个项目都是个人信息管理系统(PIM),但实现技术有所不同,分别是使用Java Swing、Struts ...
1. **Java编程语言**:本项目的核心开发语言是Java,它是一种跨平台的面向对象编程语言。Java的特性如封装、继承和多态在系统设计中得以体现,提高了代码的可维护性和复用性。同时,Java的异常处理机制、IO流、集合...
2. **Java Web开发框架**:虽然没有明确指出使用哪个框架,但常见的Java Web框架如Spring MVC、Struts2或Hibernate可能被用到。这些框架可以帮助开发者更高效地管理HTTP请求、处理业务逻辑、进行数据持久化,并提供...