Java进阶:Struts多模块的技巧
文章来源:互联网
在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。
关于多module的配置就不说了,只需要用不同的config,
struts-config.xml作为默认module, struts-config-module.xml作为/module的配置
CSDN上有不少相关的说明。
struts中的module,实际上就类似于平日里开发web程序中的子目录
如
/- root |
例如上面的/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一致。
例如
/ |
虽然安全性有些降低,但使用起来非常方便。
一般的,要写一个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 Socket编程(一) Socket传输模式
栏 目:Java编程
下一篇:Java Socket编程(三) 服务器Sockets
本文标题:Java进阶:Struts多模块的技巧
本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/8561.html
您可能感兴趣的文章
- 01-10Java咖啡馆(1)——叹咖啡
- 01-10Java Socket编程(三) 服务器Sockets
- 01-10Java Socket编程(一) Socket传输模式
- 01-10Java Socket编程(二) Java面向连接的类
- 01-10Java运行时多态性的实现
- 01-10Java经验点滴:处理没有被捕获的异常
- 01-10Java Socket编程(四) 重复和并发服务器
- 01-10Java中的浮点数分析
- 01-10面向对象编程:Java中的抽象数据类型
- 01-10跟我学Java Swing之游戏设计(2)
阅读排行
本栏相关
- 01-10Java咖啡馆(1)——叹咖啡
- 01-10JVM的垃圾回收机制详解和调优
- 01-10Java Socket编程(三) 服务器Sockets
- 01-10Java进阶:Struts多模块的技巧
- 01-10J2SE 1.5版本的新特性一览
- 01-10Java Socket编程(一) Socket传输模式
- 01-10Java运行时多态性的实现
- 01-10Java Socket编程(二) Java面向连接的类
- 01-10Java Socket编程(四) 重复和并发服务
- 01-10Java经验点滴:处理没有被捕获的异常
随机阅读
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文