Dorado 5 : 12.3._forwards_ (RF1)

用于声明当前控制单元(Unit)范围中的全局转发关系,可定义零个或多个<forward>元素,用于把一个逻辑名称映射到特定的URL。通过这种方式Action或JSP 文件无需指定实际的URL,只要指定逻辑名称就能实现请求转发或者重定向,这可以减弱控制组件与视图组件之间的耦合,并有助于维护JSP 文件。相关属性说明如下:

属性

说明

contextRelative

用于决定是否使用系统默认的上下文(context),根据本控制单元(Unit)的prefix 来实现页面跳转(与path 配合使用):
true: 默认值, 系统在进行处理时时会自动为此exception 中定义的path 添加Mapping 的prefix 前缀,进行跳转,如:mapping 的prefix 设为:/dorado, path 设为:/access.d 则实际跳转URL 为/dorado/access.d;
false: 系统直接使用系统根目录下path 属性指定的URL或者系统已经定义好的Action
进行跳转;

description

转发说明

name

转发路径的逻辑名称(必须项目)

path

指定转发或重定向的URL,此项必须以"/"打头

redirect

用于控制页面跳转时使用的跳转方式是否使用sendRedirect方法重定向到path 所指定的URL

XML 范例代码:

<forwards>
<forward name="no-forward" path="/dorado/viewService.noForward.d" />
</forwards>

图示说明:
在可视化环境中,添加<forward>元素并设置相关属性:

图表 85
配置好的forward 可以在当前控制器(Controller)的实现类(ControllerClass)中使用action的findForward()方法调用,如:

public ActionForward doAction(Action action, HttpServletRequest request, HttpServletResponse response)
throws Exception {
//do something......
return action.findForward("welcome");
}