最近在用struts多模块做程序,遇到了一些问题,请高手帮忙!
在项目中添加了一个admin模块,在这个模块中的一个ACTION文件中当出错时通过mapping.getInputForward();转到输入页面
<action
      attribute="adminEdit"
      input="/WEB-INF/www/admin/AdminEdit.jsp"
      name="adminEdit"
      path="/AdminSave"
      ......
但一出错转到INPUT时提示找不到该页,在/WEB-INF/www/admin/AdminEdit.jsp前总被加上模块名,成了/admin/WEB-INF/www/admin/AdminEdit.jsp
这个问题应该如何解决!急!!!!!!!!

解决方案 »

  1.   

    可以在像servlet在web.xml弄个映射地址.具体用法跟servlet 映射地址很像,网上很多吗
      

  2.   

    你看看这个文件里面的东西  好像有一个设置模块的  不过我没有解决http://struts.apache.org/dtds/struts-config_1_2.dtd
      

  3.   

    还是没有解决,struts也太麻烦了,即然可以建立多个模块就应该想到这个问题啊!!开发STRUTS就应该解决这个问题,哎。。
      

  4.   

    input="/WEB-INF/www/admin/AdminEdit.jsp"
    ->input="/AdminEdit.jsp"
    直接写相对于模块名的jsp路径
      

  5.   

    可是AdminEdit.jsp是放在/WEB-INF/www/admin/AdminEdit.jsp这个目录下的,这是个真实路径,如果改为input="/AdminEdit.jsp",然后加上模块名admin就成了/admin/AdminEdit.jsp,还是找不到文件啊,路径还是不对!
      

  6.   

    <servlet>
            <servlet-name>action</servlet-name>
            <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
            <init-param>
                <param-name>config</param-name>
                <param-value>/WEB-INF/struts-config.xml</param-value>
                        </init-param>
         //这里增加另一个配置文件
            <init-param>
                <param-name>config/registration</param-name>
                <param-value>/WEB-INF/struts-config-registration.xml</param-value>
            </init-param>
         </init-param>
             <load-on-startup>1</load-on-startup>
                </servlet>    <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
                </servlet-mapping>
        </web-app>
      

  7.   

    楼上的大哥,我觉得你好像没明白我说的意思,而且我觉得你说的方法行不通,不过,我没有试,我通过别的方法解决了问题,如下
    在模块配置文件中加入<controller forwardPattern="/WEB-INF/www/$M$P"/>,那么,模块中的FORWARD就相对于/WEB-INF/www/这个目录,然后跳转时会自动加上模块名在/WEB-INF/www/后,问题解决!
    但模块名要和存放文件的文件夹名相同,这个问题解决了,但不知道会不会因此带来其它问题!
    呵......