当我把validate框架在struts中配好之后运行,并没有出现我想要的提示,而是出现一个空白页。
这是一个登录的窗体,想测试一下用户名必填,如果不填在该页上提示信息。
下面我把相应的配置与类贴出。
struts-config配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.cchd.form.LoginForm"/>
</form-beans>
<action-mappings>
<action name="loginForm" path="/login" input="/index.jsp" scope="request"
type="com.cchd.action.LoginAction" validate="true">
<forward name="sucess" path="/main.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"></message-resources>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
property="pathnames" />
</plug-in>
</struts-config>
formbean如下:
public class LoginForm extends ValidatorForm {
/**
*
*/
private static final long serialVersionUID = 1455009705367572463L;
private String username = "";
private String password = "";
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public void reset(ActionMapping arg0, HttpServletRequest arg1) {
}
}
Action如下:
public class LoginAction extends Action {
public ActionForward execute(ActionMapping arg0, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
LoginForm loginForm = (LoginForm)arg1 ;
User user = new User(loginForm.getUsername(),loginForm.getPassword());
if(user.isExist()){
HttpSession session = arg2.getSession() ;
session.setAttribute("user", user) ;
return arg0.findForward("sucess");
}
return null ;
}
}
validation.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
<form-validation >
<formset>
<form name="loginForm">
<field property="username" depends="required">
<arg0 key="username.info"/>
</field>
</form>
</formset>
</form-validation>
Application.properties的内容如下:
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is an invalid credit card number.
errors.email={0} is an invalid e-mail address.
username.info= aaaaaaa.
相关推荐
这篇名为“Struts2 Date转换问题”的博文可能探讨了以下关键知识点: 1. **类型转换**:Struts2中,Action类的属性与用户表单提交的数据进行绑定时,会自动尝试将请求参数转化为相应的类型,包括Date。这个过程由`...
"struts-date-operator2【时间控制】" 主要涉及到的是如何在 Struts 2 中使用日期和时间操作符来管理时间相关的数据。 首先,理解 Struts 2 的拦截器(Interceptor)机制是至关重要的,因为许多数据校验和转换工作...
本文将详细介绍Struts2.5.2的配置过程以及可能遇到的问题和解决方案。 首先,配置Struts2.5.2需要从官方站点下载所需的jar包。在http://struts.apache.org/download.cgi#struts252上,你可以找到两个选项:1是指...
### Struts Validator 验证框架详细讲解 #### 引言 在Java Web开发中,数据验证是确保应用程序安全性和用户体验的重要环节。Struts框架作为早期流行的MVC框架之一,提供了强大的验证机制——Struts Validator,它...
"Struts2漏洞检查工具Struts2.2019.V2.3"是一个专门针对这些漏洞进行检测的工具,旨在帮助开发者和网络安全专业人员识别并修复Struts2框架中的安全问题。 Struts2的安全漏洞主要包括以下几类: 1. OGNL(Object-...
"struts2-scan"工具就是为了解决这样的问题而设计的。它能够自动化地扫描Struts2应用,识别可能存在的安全弱点,帮助开发者或安全团队及时发现并修复这些问题。该工具可能会通过模拟多种攻击向量,如OGNL注入,来...
struts2.1.6 解决日历问题。区别struts2.0
然而,有一个常见的问题出现在尝试初始化`java.util.Date`类型的字段时,即“Struts的form不能初始化java.util.Date类型”。这个问题通常是由于日期对象的序列化和反序列化机制导致的,以及Struts默认的数据绑定策略...
在这个“第一个Struts程序和仿Struts(登入问题)”的主题中,我们将深入探讨如何创建一个基于Struts的登录系统,并了解如何防止常见的Struts安全问题。 首先,让我们来理解MVC模式。在MVC架构中,模型(Model)负责...
struts实践经验,struts对传统问题的解决办法,struts框架详细介绍
在本文中,我们将探讨将Struts2从旧版本升级到2.5.30的过程中可能遇到的问题及其解决方案。 升级Struts2到2.5.30的主要目标是利用新版本提供的增强功能和安全补丁。Struts2的每个新版本通常会包含对前一版本的兼容...
struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建目录,防止文件因为目录不存在,导致上传失败。 2018-08-24: 增加S2-057 Struts 2.3 to 2.3.34,...
Struts 2是一款基于Java的开源MVC框架,它在Web应用开发中广泛使用,但同时也因其复杂的架构和历史遗留问题,成为了网络安全的焦点。这个标题提到的是一个全面的Struts 2漏洞检测工具,旨在帮助开发者和安全专家识别...
Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...
### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...
- **Struts2** 为每个请求创建新的Action实例,解决了线程安全问题,同时也更易于管理和测试。 5. **Servlet依赖** - **Struts1.x** 的Action类直接依赖于Servlet API,这使得测试变得更加困难。 - **Struts2** ...