`
fly.net.cn
  • 浏览: 186860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts 使用要点

阅读更多
作者:calvin, guangnian0412

1.概述 

    Struts大家都很熟悉,不再详细介绍,另请请参阅 

1. Pragmatic Struts :SpringSide推荐的最新最Pragmatic用法。

2. SpringSide的Struts封装,SpringSide封装的Struts的CRUD Action基类,默认拥有CRUD的方法,大家可以自行扩展,或者这参考其思路重新封装。

1.1 参考书籍

《Jakarta Struts Cookbook》2005 O'Reilly,在铁手的博客上有部分中文翻译。

2. Spring与Struts的整合

2.1 在struts-config.xml中加入ContextLoaderPlugIn

ContextLoaderPlunIn是Struts 1.1+ 的插件,用来为 Struts 的 ActionServlet 加载 Spring的Application Context。这个Context引用 WebApplicationContext (由 ContextLoaderListener 加载) 作为它的父Context。默认的context文件是映射的 ActionServlet 的名字,加上 -servlet.xml后缀。 如果 ActionServlet 在 web.xml 里面的定义是 action, 那么默认的文件就是 /WEB-INF/action-servlet.xml

格式如下:

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"/>

2.2 在Struts-config.xml中加入DelegatingRequestProcessor

 用Spring的DelegatingRequestProcessor重载Struts 默认的 RequestProcessor。这样当收到一个针对Action的请求时,DelegatingRequestProcessor会自动从 Spring Context中查找对应的Action Bean。

格式如下:

<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>

2.3 建立struts-config.xml与action-servlet.xml中Action与Bean的对应关系

 连接 struts-config.xmlaction-servlet.xml 中的 Action与Bean的桥梁是action 的"path"和 bean 的"name"。如果你在 struts-config.xml 文件中有如下配置:<action path="/users" .../>
 你必须在 action-servlet.xml 中将 Action bean 的名字定义为 "/users":<bean name="/users" class="..."/>
设定完以后,action的type属性可以省略不写,因为所有的Action都在Spring Context中寻找。注意这里bean用的是name属性,而不是id,因为"/"在id属性中是非法字符。

3.输入校验与消息显示

      校验依旧比较麻烦,使用commons-validator 1.3版,使用struts 1.3.5带的validator-rules.xml。可选的validator 以 validator-rules.xml 中定义的为准。

 3.1  定义  

    注意validaton.xml的头声明需改为1.3

<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">

      编写validation.xml,如

<form name="userForm">
<field property="name" depends="required">
<arg0 key="user.name"/>
</field>
</form>

并在resources/i18n/messages.properties 里加入需要的message,如user.name = User Name

     struts-config.xml 加入

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>

   3.2 客户端JS校验:

   在每个form.jsp的form 加入onsubmit="return validateUserForm(this)", 其中UserForm是validation.xml中的form名

    在jsp最后加入

<html:javascript formName="userForm" staticJavascript="false" cdata="false"/>
<script type="text/javascript" src="<c:url value="/scripts/validator.jsp"/>"></script>

 3.3 服务端校验:

ActionMessages errors = form.validate(mapping, request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return mapping.findForward("edit");
}

3.4 出错信息的显示:

   信息参见message.jsp,可显示信息或错误。

   在希望显示信息的地方加入<%@ include file="/commons/messages.jsp" %>

   如果希望同时在列里面显示出错,加入<span class="fieldError"><html:errors property="user.name"/></span>

评论

相关推荐

    struts2 spring hibernate整合要点、注意点

    ### Struts2、Spring与Hibernate整合的关键点及注意事项 #### 一、概述 在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的框架。它们分别在MVC架构、依赖注入与业务逻辑管理、对象关系映射等方面...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC ...掌握 Struts2 的核心概念和技术要点,对于 Web 开发者来说至关重要。

    Struts书籍 Struts_In_Action_中文版

    Struts将复杂的业务逻辑封装在内部(黑盒),同时提供了清晰的接口供开发者使用(白盒),实现了两者的完美结合。 **2.4 Struts, Model2, 以及MVC** **2.4.1 MVC的演化** 这部分回顾了MVC(Model-View-Controller...

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    Struts2.5.2的配置及问题解决

    总的来说,配置Struts2.5.2需要关注以下几个要点: 1. 下载并导入正确的jar包。 2. 配置web.xml中的Struts过滤器。 3. 编写struts.xml配置文件。 4. 解决可能出现的依赖问题,如日志和类找不到错误。 5. 验证配置...

    struts2的复习

    Struts2是一个强大的Java Web应用程序开发...以上就是Struts2框架的复习要点,涵盖了从基础概念到高级特性的各个方面。在实际开发中,理解并熟练运用这些知识点,能够有效地提升开发效率,构建出高效稳定的Web应用。

    struts2 技术内幕——深入解析struts2架构设计

    同样重要的是,本书还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。  本书主要分为3大部分...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理.pdf

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    我的struts2的总结

    综上所述,通过分析提供的文件信息,我们可以了解到关于Struts2框架的一些基础概念及其配置要点。虽然原文中的信息较为简单且不完整,但我们仍然可以从中学到如何配置Struts2框架的基本知识。希望这些知识点能够帮助...

    struts2学习文档(含截图)

    ### Struts2学习文档知识点概览 #### 一、Struts2框架简介及准备工作 ...通过以上内容的学习,开发者可以更好地理解和掌握Struts2框架的核心概念和技术要点,从而更加高效地进行Java Web应用开发。

    struts2标签库

    ### Struts2 标签库详解 Struts2框架作为Struts1的升级版,在功能性和易用性方面有了显著的提升。对于那些已经熟悉...通过本文介绍的一些关键标签及其用法,相信读者可以更快地掌握Struts2的核心概念和技术要点。

    org.springframework.web.struts-3.1.0.M2.jar

    本文将围绕`org.springframework.web.struts-3.1.0.M2.jar`这个组件,深入探讨Spring与Struts的整合过程,以及其背后的原理和技术要点。 `org.springframework.web.struts-3.1.0.M2.jar`是Spring为Struts提供的一个...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    Struts2技术内幕.pdf

    同样重要的是,本书还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。  本书主要分为3大部分...

    Struts2框架做的用户登录的简单实例

    可以使用Struts2的标签库,例如`s:textfield`和`s:submit`来构建表单。 3. **Action处理**: - 用户提交登录信息后,Struts2框架会将这些信息传递给指定的Action类。在这个实例中,Action类会接收到用户名和密码,...

    Struts2注解使用说明

    ### Struts2注解使用详解 #### 一、引言 在Java Web开发领域,Struts2框架以其灵活的架构和强大的功能深受...掌握这些特性,能够显著提升开发速度,减少出错几率,是每一个Struts2开发者都应该熟练掌握的技术要点。

    Struts2面试题

    ### Struts2面试题知识点详解 #### 一、Struts2的工作流程 1. **请求接收**:所有的请求...以上内容全面覆盖了Struts2的核心概念和技术要点,对于准备Struts2面试或深入学习该框架的人来说是非常有价值的参考资料。

    starting struts2 online.pdf

    本书旨在帮助开发者快速掌握Struts2的核心概念和技术要点,为开发基于Struts2的Web应用程序奠定坚实的基础。 ### Struts2框架简介 Struts2是基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它将...

    struts用法总结

    - 使用Struts标签库:避免使用JSP标准标签,而应使用Struts提供的标签库,如`&lt;html:text&gt;`等,其property属性应与ActionForm中的域属性一致。 4. **Tomcat服务器配置**: - 配置文件更改:当struts-config.xml...

Global site tag (gtag.js) - Google Analytics