Java进阶:Struts多模块的技巧

 更新时间:2006年12月23日 00:00:00   作者:  
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

文章来源:互联网

在使用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.

相关文章

  • java把字符串转化成公式计算的示例

    java把字符串转化成公式计算的示例

    今天小编就为大家分享一篇java把字符串转化成公式计算的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

    Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

    今天小编就为大家分享一篇关于Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Java微服务Nacos Config配置中心超详细讲解

    Java微服务Nacos Config配置中心超详细讲解

    配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散 在各个微服务中,不好统一配置和管理。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护
    2023-02-02
  • springboot使用IDEA远程Debug

    springboot使用IDEA远程Debug

    项目上线之后,如果日志打印的很模糊或者业务逻辑比较复杂,有时候无法定位具体的错误原因,因此可以通过IDEA远程代理进行Debug,本文就来介绍一下如何使用
    2021-06-06
  • SpringBoot日志配置简单介绍

    SpringBoot日志配置简单介绍

    这篇文章主要介绍了SpringBoot日志配置,需要的朋友可以参考下
    2017-09-09
  • Java实现的微信公众号获取微信用户信息示例

    Java实现的微信公众号获取微信用户信息示例

    这篇文章主要介绍了Java实现的微信公众号获取微信用户信息,结合实例形式分析了Java微信公众号获取微信用户信息相关原理、步骤与操作注意事项,需要的朋友可以参考下
    2019-10-10
  • 将应用程序进行Spring6迁移的最佳使用方式

    将应用程序进行Spring6迁移的最佳使用方式

    这篇文章主要介绍了将应用程序进行Spring6迁移的最佳方式,以及如何充分利用此升级,需要的朋友可以参考下,如有错误的地方还请指正
    2023-03-03
  • SpringBoot中获取微信用户信息的方法

    SpringBoot中获取微信用户信息的方法

    这篇文章主要介绍了SpringBoot中获取微信用户信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • java如何写接口给别人调用的示例代码

    java如何写接口给别人调用的示例代码

    这篇文章主要介绍了java如何写接口给别人调用的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • MyBatis一级缓存避坑完全指南

    MyBatis一级缓存避坑完全指南

    这篇文章主要给大家介绍了关于MyBatis一级缓存避坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11

最新评论

?


http://www.vxiaotou.com