Struts中大项目中forward的处理

03-04-22 banq

forward一般有两个解决方案:

1. 在具体Jsp页面中指定forward值。

2. 在配置文件中定义。

不知哪个方案更好一点?有没有有实例提供参考?

zh
2003-05-05 14:37

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,但对大型项

目来说,复杂的配置文件就成了项目的一个恶梦。

zh
2003-05-05 14:46

这两种情况都是可能发生的,并且也是避免不了的。

第一种情况,只有一种转发目标:

<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,但对大型项

目来说,复杂的配置文件就成了项目的一个恶梦。