最近在用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
这个问题应该如何解决!急!!!!!!!!
在项目中添加了一个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
这个问题应该如何解决!急!!!!!!!!
->input="/AdminEdit.jsp"
直接写相对于模块名的jsp路径
<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>
在模块配置文件中加入<controller forwardPattern="/WEB-INF/www/$M$P"/>,那么,模块中的FORWARD就相对于/WEB-INF/www/这个目录,然后跳转时会自动加上模块名在/WEB-INF/www/后,问题解决!
但模块名要和存放文件的文件夹名相同,这个问题解决了,但不知道会不会因此带来其它问题!
呵......