目前struts数据校验放在bean里校验。它需要你提交数据,才能检查表单数据的合法性。并且要求bean和表单严格一一对应。使用起来局限性很大。为此本人开发一套标签,将数据校验放在标签里。标签校验规则来自于你的数据库表结构。
本标签组件名为useeasy-size.tld。类似于struts-html.tld标签组件。useeasy-size.tld保留了struts-html.tld所有功能,它扩展了标签的数据校验属性。应用useeasy-size.tld标签,实现页面表单的前台自动校验。目前useeasy-size.tld只支持oracle数据库。
应用此标签最大的好处就是它是前台校验,所以你不需要提交数据。它的校验规则来自你的数据库表结构,所以它的校验是最最准确的,最最恰当。
当你的表结构发生了变化,你的html可以不需要做任何的改变。标签仍然做出正确的校验。
应用此标签,你甚至不需要任何的脚本校验代码!
useeasy-size.tld支持以下几种的校验:
- 不为空校验。
- 数字类型校验。
- 日期类型校验。
- 最大长度校验。
使用实例example.jsp:
<%@ taglib uri="/WEB-INF/useeasy-size.tld" prefix="shtml" %>
<script language="javascript" src="library/script/validate.js"></script>
<html>
<shtml:form action=“example.do“ tab=“table_name“ onsubmit=“return validator()“>
<shtml:text property="name"/>
<shtml:textarea property="content" ></shtml:textarea>
<input type=“submit“ value=“提交“>
</shtml>
</html>
useeasy-size.tld组件包含下列标签类型:
useeasy-size.tld | struts类似标签名 |
write | write |
form | form |
text | text |
hidden | hidden |
textarea | textarea |
属性说明:
标签名:form | |
tab | 表单数据的数据库表名。如果没有指定,标签默认表名等于action的bean名。 |
标签名:text | |
tab | 字段对应的数据库表名。如果没有指定,从form标签继承。 |
field | 字段对应的数据库的字段名。如果没有指定,标签默认field等同property。 |
标签名:hidden | |
tab | 字段对应的数据库表名。如果没有指定,从form标签继承。 |
field | 字段对应的数据库的字段名。如果没有指定,标签默认field等同property。 |
标签名:textarea | |
tab | 字段对应的数据库表名。如果没有指定,从form标签继承。 |
field | 字段对应的数据库的字段名。如果没有指定,标签默认field等同property。 |
标签名:bean | |
maxLength | 必需。值在页面上显示的最大长度。超出长度以“...”替换。并以帮助条显示。 |
由于blog不支持附件。限于篇幅,实在是无法粘贴完整的代码给大家。需要代码的兄弟姐妹们,可以跟我联系。在下面留下您的email就行了。
下期将提供一个非常非常好的代码生成工具。它可以根据你的数据库表结构自动生成bean、action、ado(数据库层)。可以说它让你从枯燥的abc代码解脱出来,让你完全去关心更高层次的设计上。呵呵~敬请关注!
相关推荐
数据校验功能是通过Struts 2的ActionSupport类和其他相关组件来实现的。 首先,ActionSupport类是Struts 2提供的一个基础类,开发者通常会自定义Action类时继承它。ActionSupport不仅实现了Action接口,还提供了...
在Struts2中,数据校验是一个重要的功能,它确保用户输入的数据符合预设的规范,从而保证系统的稳定性和安全性。这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 ...
与Struts1相比,Struts2具有显著的优势,包括更少的侵入性设计、支持AOP编程的拦截器、类型转换器、多样的表现层技术以及更灵活的数据校验机制。 首先,Struts2的无侵入式设计使得应用程序不再紧密依赖Servlet API...
在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及如何通过国际化功能提供多种语言的用户体验。 首先,数据校验是任何Web应用程序中的关键环节,它...
本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...
Struts2的Interceptor(拦截器)允许在Action执行前进行数据校验。例如,`ValidationInterceptor`是一个内置的拦截器,它使用Action级别的注解进行校验。如果校验失败,会将错误信息存入ActionContext,然后跳转到...
- **应用校验**:在Action类中,Struts2会自动调用这些校验规则。如果校验失败,它会将错误消息添加到`ActionErrors`对象,并在视图层显示。 3. **注解式输入校验**: - **使用JSR 303/JSR 349 Bean Validation**...
首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中定义校验规则或使用XML配置文件。当用户提交表单时,框架会自动...
总之,Struts2的输入校验机制提供了一种灵活且易于管理的方式,来确保用户输入的数据符合应用程序的需求,从而提高了应用的健壮性和用户体验。通过合理配置Action、创建验证规则文件并利用内置验证程序,开发者可以...
`s:textfield`用于创建输入文本框,可以绑定到Action类的属性,自动进行数据校验和转换。`s:textarea`创建多行文本输入区域,`s:checkbox`和`s:radio`用于创建复选框和单选按钮,可以实现多选和单选功能。 **4. ...
4. **校验结果处理**:当数据校验失败时,Struts2会自动将错误信息添加到ActionContext中,然后可以通过`ActionErrors`或`FieldErrors`对象访问这些错误信息。在JSP页面上,可以使用`s:fielderror`或`s:actionerror`...
在Struts2中,输入校验是确保用户提交的数据符合预设规范的重要环节,可以防止非法数据进入系统,保护数据的完整性和安全性。本文将详细探讨Struts2中的输入校验机制。 首先,Struts2提供了两种主要的校验方式:...
当数据校验失败时,Struts2会自动将错误信息放入ActionContext,可以通过`ActionContext.getErrorMessages()`获取这些错误信息。在JSP页面中,可以使用Struts2的标签库如`s:fielderror`来显示错误信息。 6. **...
4. 表单验证:结合Struts的验证框架,可以在服务器端进行表单数据的校验。 四、实战练习 1. 创建一个简单的登录表单,使用`<html:form>`、`<html:text>`和`<html:submit>`标签。 2. 实现错误消息显示功能,当用户名...
在Struts2中,数据校验是保证应用程序数据质量的重要环节。短路校验,也称为客户端校验,是一种优化用户体验的策略,它在用户提交表单前就在浏览器端进行数据校验,如果发现错误,会立即反馈给用户,避免了不必要的...
- **数据校验**:JSP标签无法直接实现数据校验,而Struts标签可以通过内置的校验框架实现。 - **国际化**:Struts标签支持国际化,如`<s:text>`可以轻松地显示不同语言的文本。 - **动态属性**:Struts标签支持...
Struts2的标签库分为核心标签库、展示标签库、OGNL标签库等,它们提供了丰富的功能,如数据校验、国际化、条件判断、循环遍历等。这些标签能够直接在JSP页面上使用,使得页面逻辑与业务逻辑分离,提高了代码的复用...
在Struts的框架中,数据校验和国际化是两个重要的功能,对于提升应用的用户体验和保证数据的准确性至关重要。 1. 数据校验: 数据校验是确保用户输入的数据符合预期格式和规则的过程。在Struts框架中,数据校验...
3. **表单标签**:如`<s:form>`,用于封装HTML表单元素,支持Action绑定、主题样式和自动校验功能。 4. **控制标签**:`<s:if>`、`<s:else>`、`<s:iterator>`等,用于条件判断和循环控制,使得在JSP页面上进行逻辑...
Struts提供了基于XML和注解的数据校验机制,可以在ActionForm中定义校验规则,确保用户输入的数据符合业务需求。 **8. Tiles框架集成** Tiles是一个视图组合框架,Struts可以与之集成,实现复杂的页面布局。Tiles...