java

位置:IT落伍者 >> java >> 浏览文章

Java 进阶:分享 Struts 多模块的技巧


发布日期:2020年07月07日
 
Java 进阶:分享 Struts 多模块的技巧

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

关于多module的配置就不说了只需要用不同的configstrutsconfigxml作为默认module strutsconfigmodulexml作为/module的配置

CSDN上有不少相关的说明

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

/ root

/music

/module

/

例如上面的/music作为模块名那么strutsconfigmusic中的所有path默认即/music/xxxdo

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

我的建议是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=/xxxdo&

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

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

上一篇:关于JBOSS的新特性的简要介绍

下一篇:Hibernate包作用详解