`

struts2整合spring后validation.xml验证 带参数跳转input页面【原创】

阅读更多

这个问题困扰我很久了。我用validation.xml写了一个struts2的表单验证,是没问题,可是,但校验不通过返回到input的时候,由于这个结果页面有一个是需要在数据库那数据来初始化的,而我把spring改成了多例模式,这样一跳转,值就没了,初始化不了,会报错~于是我看了继承类ActionSupport 的源码,找到了它验证不通过会执行的方法,于是把应该初始化的操作重写在了这个方法里面,就行了!如下:

/**
* 校验方法
*/
public void validate() {
   System.out.println("Fuck Validate!!!");
   this.opsysconfigs = userService.sysconfigList("orgname");
   this.opusrgroups = userService.opusrgroupList();
  
}

 

当用户提交请求时,请求得到execute方法处理之前,先会被validate方法处理,如果该方法处理结束后,Action的fieldErrors里的校验错误不为空,请求将被转发给input逻辑视图

public abstract java.lang.String execute() throws java.lang.Exception;

而Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,如校验失败,会转入input处,必须在配置该Action时配置input属性。

 

分享到:
评论

相关推荐

    struts2.1.8整合spring2.5的jar包

    Struts2.1.8与Spring2.5的整合是...2. **配置Struts2**:在Struts2的配置文件(通常为`struts.xml`)中,使用Spring插件来指定Action类。通过`<spring:bean>`标签告诉Struts2 Action类的bean定义在Spring中: ```xml ...

    struts验证器validator使用,以及自定义验证器

    5. **处理验证结果**:在Action类中,Struts会自动调用验证器,如果验证失败,Action的execute方法不会执行,而是返回“input”结果,可以在JSP页面中显示错误信息。 **三、自定义验证器** 当内置的验证规则不能...

    StrutsSpringHibernate实例

    ### Struts + Spring + Hibernate 实例详解 #### 一、项目背景与概述 在本教程中,我们将构建一个简单的登录应用,使用Struts作为前端框架,Spring进行业务逻辑管理,Hibernate作为持久层技术。该应用名为`login`...

    struts自我学习过程程序以及说明

    Input.jsp Output.jsp 拦截器: interceptor包; Timer.jsp Login.jsp ShowUser.jsp IoC反转控制: spring.ioc包; (有问题.............待解决.........) struts和Ajax: (例子一) 载入了json包; strutsandajax包; ...

    【原创】Struts2防止表单重复提交.doc

    Struts2的核心是一个实现了拦截器模式的控制器框架,它可以很容易地与其他Java技术(如Spring和Hibernate)集成。Struts2的主要特点包括但不限于: - **MVC架构**:采用模型-视图-控制器(Model-View-Controller)...

    Struts+Spring+Hibernate练习(完整)

    - 登录成功后跳转到 `index.jsp` 页面。 2. **表单验证**: - 利用 Struts 的 Validator 框架实现表单验证,确保用户输入符合预期。 - 在 `ApplicationResources.properties` 文件中定义错误消息资源。 3. **...

    struts2简要教程

    Struts2提供了一套强大的数据验证机制,可以通过注解或XML配置进行字段级和Action级别的验证。验证失败时,Struts2会自动将错误信息放入值栈,供视图显示。 ### 9. 自定义插件和扩展 Struts2的插件系统使其具有高度...

    struts2输入校验

    - **配置**:在`struts.xml`配置文件中启用JSR 303支持,添加`<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />`。 4. **自定义校验器**: 如果默认的...

    完整的struts2配置,带实例

    首先,为了实现Struts2和Spring的整合,我们需要在Struts2的配置文件(struts.xml)中添加Spring插件的相关配置。这通常包括引入Spring的监听器、设置Action类的扫描路径以及配置Spring插件的拦截器。 ```xml ...

    Struts1.3和config配置详解

    1. **全局常量配置**:此部分用于定义全局的框架配置参数,如`input`属性用于指定表单验证失败后的默认回跳页面,`message-resources`属性用于指定国际化资源文件。 2. **数据源配置**:虽然Struts1.3本身并不直接...

    SSH整合所需关键代码

    通过以上步骤,我们完成了SSH整合的关键代码配置,实现了Spring管理Struts2对象、Struts2与Hibernate的整合,以及DWR框架的配置。这些配置使得Java Web应用具备了强大的MVC结构、对象持久化以及前端与后端的实时交互...

    struts-default中拦截器介绍.pdf

    Struts 2 框架中的拦截器是其核心组件之一,主要负责在Action执行前后进行额外的操作,如参数绑定、验证、权限控制等。在`struts-default`配置中,许多默认的拦截器组合成预设的拦截器栈,为开发者提供了便捷的功能...

    struts2.0第一讲

    Struts2.0 是一款基于MVC(Model-View-Controller)设计模式的Java Web框架,用于构建可...尽管随着时间的推移,Spring MVC和Play Framework等其他框架逐渐崛起,但Struts2在许多现有的项目中仍然占据着重要的地位。

    手把手练习SSH实例

    添加Struts插件,配置`validation.xml`文件来定义验证规则。在这个文件中,我们指定了`username`和`password`字段为必填项。同时,需要修改资源文件`ApplicationResources.properties`和对应的中文资源文件`...

    struts 2.0登录实例

    - 在登录示例中,可能使用了 `params` 拦截器来解析表单参数,`validation` 拦截器进行字段验证。 7. **结果映射(Result Mapping)**: - 结果映射定义了根据 Action 方法返回值来决定跳转到哪个页面。 - 例如...

    SSH+S2SH的配置搭建

    1. **Struts2与Spring整合**:在Struts2的配置文件中,使用Spring插件将Action委托给Spring管理,如: ```xml <package name="default" extends="struts-default"> <param name="excludeParams">...

    struts2.0基础配置-附加实例

    默认的拦截器链包括了`params`(处理请求参数)、`validation`(执行字段验证)等。你可以自定义拦截器并添加到配置中: ```xml <interceptor name="customInterceptor" class="com.example.CustomInterceptor"/...

    从搭建Struts2 开发环境说起

    5. **输入验证(Input Validation)**: Struts2的输入验证机制可以针对特定方法进行,提高了验证的精确性和灵活性,避免了Struts1中全局验证可能导致的问题。 6. **国际化资源管理(Internationalization ...

    ssh框架考试试题.doc

    SSH框架是指Struts2、Spring和Hibernate这三个Java Web开发中的常用框架。这些试题涉及了SSH框架及相关的Java、Oracle数据库、Web服务、JSP、jQuery等基础知识。下面将对题目中的知识点进行详细解释: 1. **package...

Global site tag (gtag.js) - Google Analytics