Struts中大项目中forward的处理
forward一般有两个解决方案:
1. 在具体Jsp页面中指定forward值。
2. 在配置文件中定义。
不知哪个方案更好一点?有没有有实例提供参考?
forward一般有两个解决方案:
1. 在具体Jsp页面中指定forward值。
2. 在配置文件中定义。
不知哪个方案更好一点?有没有有实例提供参考?
1. 在具体Jsp页面中指定forward值。
2. 在配置文件中定义。
这两种情况都是可能发生的,并且也是避免不了的。
第一种情况,只有一种转发目标:
<action path="/esla.bug.view"
type="com.dmk.test.action.esla.EslaBugAction"
roles="minister,pm,member">
<forward name="success" path="/esla/bug_attrib.jsp"/>
</action>
第二种情况,有两种确定的转发目标:
<action path="/esla.bug.delete"
type="com.dmk.test.action.esla.EslaBugAction"
roles="minister,pm">
<forward name="success" path="/esla/bug_list.jsp"/>
<forward name="failed" path="/esla/bug_attrib.jsp"/>
</action>
第三种情况,有多种可能,每一种都不确定。
<action path="/esla.complex.new"
type="com.dmk.test.action.complex.ComplexAction"
roles="minister,pm">
<forward name="attrib1" path="/esla/complex_attrib1.jsp"/>
<forward name="attrib2" path="/esla/complex_attrib2.jsp"/>
<forward name="attrib3" path="/esla/complex_attrib3.jsp"/>
</action>
其中attrib1/attrib2/attrib3需要在Jsp页面中指定,即作为一个
URL参数传递到系统内部处理
上述第三种情况就需要在JSP页面中指定转发逻辑,当然,如果想使代码更纯粹些,那就只好拆分这个action mapping为三个action mapping,但对大型项
目来说,复杂的配置文件就成了项目的一个恶梦。
这两种情况都是可能发生的,并且也是避免不了的。
第一种情况,只有一种转发目标:
<action path="/esla.complex.search"
type="com.dmk.test.action.esla.ComplexAction"
roles="minister">
<forward name="success" path="/esla/complex_list.jsp"/>
</action>
第二种情况,有两种确定的转发目标:
<action path="/esla.bug.delete"
type="com.dmk.test.action.esla.EslaBugAction"
roles="minister,pm">
<forward name="success" path="/esla/bug_list.jsp"/>
<forward name="failed" path="/esla/bug_attrib.jsp"/>
<action>
第三种情况,有多种可能,每一种都不确定。
<action path="/esla.complex.new"
type="com.dmk.test.action.complex.ComplexAction"
roles="minister,pm">
<forward name="attrib1" path="/esla/complex_attrib1.jsp"/>
<forward name="attrib2" path="/esla/complex_attrib2.jsp"/>
<forward name="attrib3" path="/esla/complex_attrib3.jsp"/>
</action>
其中attrib1/attrib2/attrib3需要在Jsp页面中指定,即作为一个
URL参数传递到系统内部处理
上述第三种情况就需要在JSP页面中指定转发逻辑,当然,如果想使代码更纯粹些,那就只好拆分这个action mapping为三个action mapping,但对大型项
目来说,复杂的配置文件就成了项目的一个恶梦。