Struts多module配置下手写的URL会碰到找不到resource的情况

EC2.0中,配置了多个module(portal和admin)。除了在调用一些action的时候,需要用到SwitchModule等手段之外(具体看以前发过的Struts学习心得文章),还需要注意一些其他的问题,比如,这里讨论的手写的URL的问题。 

EC2.0的Portal部分的提交任务中,有一个选择outputdir和executable的界面。在选择outputdir和executable的时候,jsp中用的是window.open的方法打开一个窗口,给出的URL是当前目录下的 browsefilewindow.jsp?....... ,在这样的情况下,这个browsefilewindow.jsp中如果用到了<bean:message>这样的标签,那么Struts就会在root module下去寻找这些资源,而不会在Portal module下寻找这些资源,因为很简单,我们没有使用Struts提供的一些控件,比如<html:link>来产生这些链接。用Struts的标签库产生的界面控件,会自动为我们加上该module的一些URI,从而避免这样的问题。 

所以,当代码开发中碰到上述的情况的时候,有个最简单的办法可以解决,那就是把这些资源放到root module中去,否则就要使用Struts提供的标签来产生链接。比如上述的那个问题,上述界面是个按钮,然后在按钮的onclick的代码中调用了window.open,如果用Struts,就把按钮做成一个图片,然后用<html:link>把这个图片变成超链接,这样就OK了。但是做成图片的话,就要做中英文两个版本了,因为按钮中是有文字的哦。
原文地址:https://www.cnblogs.com/super119/p/1934992.html