`
冰云
  • 浏览: 142878 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts多模块的技巧

阅读更多

在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。

关于多module的配置就不说了,只需要用不同的config,
struts-config.xml作为默认module, struts-config-module.xml作为/module的配置

CSDN上有不少相关的说明。

struts中的module,实际上就类似于平日里开发web程序中的子目录

 /- root
 /music
 /module
 /...
例如上面的/music作为模块名
那么struts-config-music中的所有path默认即/music/xxx.do

一些教程中说要把jsp页面放入/web-inf中,这是个很好的方法,
一开始我也这么做,可惜,struts的action标签不支持contextRelative,只有forward支持
所以,如果要使用/xxx.do直接redirect或者forward到某个页面是行不通的。
因为他们的地址相对于/music/web-inf/xxx.jsp 这样就找不到了。

我的建议是,root下面的目录要和module一致。
例如
 /
 /moduleA
  /moduleB

虽然安全性有些降低,但使用起来非常方便。

一般的,要写一个link,可以通过<html:link>来写
<html:link action="/module/action" >
他的好处是内置的支持module,不需要自己写.do,这就可以使得你的.do
任意的修改为别的而不影响程序运行。例如,.jspa,假装一下webwork

默认的<html:link>是相对module的。例如进入了/module/actionA指向的页面
在这个页面中,所有的link都被转换为相对于/module
如<html:link action="/actionB" >,实际上是/module/actionB

那么,如果要执行默认module的action怎么办?嘿嘿,其实很简单。
我开始的时候绞尽脑汁,用了switchAction来解决
/module/switch?prefix=&page=/xxx.do&.... 多麻烦

实际上,一个传统的办法可以有效解决。即
<html:link action="../action" >
可以回到上一层的module中。我开始可真没想到。

link标签有page,href,action三种不同的链接方法。
其中,action默认的指向某个path,page指向一个jsp页面,也是相对于module的
href可以写外部url.

    


版权声明:
本文由冰云完成,作者保留中文版权。
未经许可,不得使用于任何商业用途。
欢迎转载,但请保持文章及版权声明完整。
如需联络请发邮件:icecloud(AT)sina.com
Blog:http://icecloud.51.net
 

 



评论

相关推荐

    Java进阶Struts多模块的技巧.rar

    本资料“Java进阶Struts多模块的技巧”旨在帮助开发者掌握如何有效地组织和管理Struts2框架中的多个模块。 首先,理解Struts多模块的基本概念。一个模块通常代表应用的一个独立功能或者业务领域,如用户管理、订单...

    Struts多模块[定义].pdf

    1. **多模块Struts应用配置**:每个模块需要一个独立的配置文件,文件名通常以`struts-config-模块名.xml`的形式表示。默认模块的配置文件通常是`struts-config.xml`,其他模块的配置文件则根据模块名进行命名。每个...

    Java进阶:Struts多模块的技巧

    在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。 关于多module的配置就不说了,只需要用不同的config, struts-config.xml作为默认module, struts-config-module.xml作为/module的配置  CSDN上有...

    struts文档

    ### Struts框架下的多模块开发与扩展 #### 引言 在现代软件工程实践中,多模块开发和软件的可扩展性...在实际开发中,理解和掌握Struts框架的多模块开发流程及扩展技巧,将极大提升团队的开发效率和项目的整体质量。

    struts2详细介绍

    可以为不同模块创建多个struts.xml文件,提高代码的可读性和可维护性。 3. **struts.properties**(参照default.properties):包含Struts框架的属性设置,允许开发者调整框架行为,如默认页面编码、错误页面重定向...

    struts2的新闻管理系统

    5. **国际化**:对于多语言支持,Struts2提供了资源文件(properties)管理方式,可以根据用户的语言设置动态加载相应的消息文本。 6. **错误和异常处理**:Struts2的全局异常处理机制可以捕获并处理程序运行时的...

    精通Struts(孙卫琴).zip

    - Struts2是Struts的下一代版本,引入了更多特性,如OGNL表达式语言、拦截器(Interceptor)机制,以及更丰富的插件体系。 9. **最佳实践**: - 分层架构:按照业务逻辑、数据访问和表示层进行分离,保持代码结构...

    spring与struts2整合

    将这两个框架整合在一起可以构建出高效、模块化的 Web 应用。 首先,我们来理解 Spring 框架的核心概念。Spring 的 DI 机制允许开发者通过配置文件或注解来管理对象及其依赖关系,降低了代码的耦合度,使得组件更...

    struts快速学习指南 pdf电子书

    Struts是Apache软件基金会旗下Jakarta项目的一个子项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用...同时,结合提供的博客链接,可以获取更多实战经验和技巧,进一步提升Struts应用开发能力。

    struts2.0常用功能练习

    这个"test"文件可能是练习项目中的一个测试用例,可能包含了Action类、配置文件、JSP页面等,通过实际操作和调试,可以帮助学习者更好地理解Struts2.0的工作原理和实践技巧。对于初学者来说,动手实践是最有效的学习...

    struts2框架入门

    通过阅读提供的"15_学员用书_STRUTS2核心_IMAGE版.pdf",你可以逐步掌握这些概念和实践技巧,从而在实际项目中有效地利用Struts2框架。同时,配合源码学习,能让你更直观地了解框架的工作原理,加深理解,提高编程...

    通用论坛(Eclipse+Struts)(Eclipse+Struts)

    通过学习和实践【通用论坛(Eclipse+Struts)】项目,开发者不仅可以掌握Eclipse IDE的使用技巧,还能深入理解Struts框架的工作原理,提升J2EE应用开发能力。同时,这个项目也涉及到了许多Web开发中的通用问题和解决...

    struts 1.3.8 源码

    首先,Struts 1.3.8 的核心架构基于 MVC(Model-View-Controller)设计模式,它将业务逻辑、数据模型和用户界面分离,使得应用程序更加模块化和易于维护。控制器(Controller)部分主要由 ActionServlet 实现,它是...

    Struts2权威指南.pdf 清晰中文完整版

    1. **Struts2框架概述**:Struts2是Apache软件基金会的开源项目,它是Struts1的升级版本,引入了更多的灵活性和可扩展性。Struts2的核心设计理念是通过拦截器(Interceptor)机制来处理请求,实现业务逻辑与视图的...

    Struts+ajax

    通过深入学习和实践,你可以掌握Struts与Ajax的集成技巧,提升你的Web开发能力。 总的来说,Struts和Ajax的结合使用为Web开发带来了很大的便利,它不仅简化了后台处理,也优化了前端用户体验。理解并熟练掌握这两者...

    Struts2_1300_IncludeModules

    在Struts2中,模块化开发是非常重要的,它允许我们将一个大型应用拆分为多个小的、可管理的部分,每个部分都可以视为一个独立的模块。这样做的好处包括代码的复用、提高开发效率以及更好地进行团队协作。Struts2提供...

    Struts教程

    本章节重点介绍Struts框架如何支持多语言应用。具体来说,读者将学习如何使用Struts提供的资源文件来实现不同语言的界面展示。这一特性对于构建面向全球用户的Web应用至关重要。 #### 五、表单处理:使用Struts处理...

    Ajax using XMLHttpRequest and Struts

    这一概念并不局限于特定的技术实现,而是一种设计理念和一组技术技巧的集合。Ajax的核心在于避免每次用户交互时重建整个网页,从而提高效率。例如,在一个包含两个下拉菜单的网页上,当用户选择第一个下拉菜单的选项...

Global site tag (gtag.js) - Google Analytics