jsp:forward标签转发到Struts 2动作

Liu*_*NO. 5 java redirect jsp struts2 forward

我正在将Struts应用程序迁移到Struts 2.它是由Struts 1.2四年前开发的.

我的问题是:

在我的JSP中,有这样一个声明:

<jsp:forward page="/a.do" />
Run Code Online (Sandbox Code Playgroud)

它在Struts 1中运行良好,但在Struts 2中不起作用,它在我访问这个JSP文件时告诉我HTTP 404错误.

但是,如果我访问http://localhost:8080/shell/a.do,它运作良好.

我想知道原因,是因为Struts 2过滤器无法捕获前向动作?(org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)

那么前锋不能被派遣到Struts 2的行动中?

在我的应用程序中有很多前锋,如果前锋在Struts 2中不起作用,它是唯一使用重定向而不是前进的解决方案吗?

实际上这个问题是基于我的分析,原来的工作是显示网站的欢迎页面.如果我使用jsp:forward转发到a.do,它不起作用.我遵循罗马的建议,result而不是向前使用.那么现在的问题是如何为整个应用程序配置默认操作?

我试过<default-action-ref name="a"/>,但它只适用于未映射的操作,例如http://localhost:8080/shell2/(some-unmapped-action).do,它转到默认操作.但如果我没有指定,它就不起作用".do".

当然这可以通过url-rewrite完成,但我不想使用这种方法.

Rom*_*n C 1

的概念forward从 Struts 1 转移到调度程序结果的概念。您必须forward从应用程序中删除所有 s 并创建results 。