我已经在网上搜索了几个小时,但在 Struts 中找不到一个简单问题的答案。基本上,我在 Struts 1 中有以下操作,这是一个简单的转发,我想在 Struts 2 中重现相同的操作:
<action path="/az/api/v22/my-tenants" forward="/components/c/apis/v22/my-tenants.jsp">
</action>
我可以编写一个操作类来执行此操作,但我认为 Struts2 必须有某种方法来执行此操作,而无需编写操作类,因为它是一个简单的重定向。
创建 无操作结果
struts.xml
struts.xml:
<package name="v22" namespace="/az/api/v22" extends="struts-default">
<action name="my-tenants">
<result>/components/c/apis/v22/my-tenants.jsp</result>
</action>
</package>
此配置定义了一个具有命名空间
/az/api/v22
和操作名称 my-tenants
的包。因此,如果您使用路径/az/api/v22/my-tenants
,它将映射到上面的操作配置,因为默认操作映射器使用命名空间和操作名称一起来获取操作配置。
action 标签中没有
class
属性,而是使用类 ActionSupport
来代替。该类默认配置在 struts-default
包中。
在结果中定义 JSP 的位置就足够了,因为 struts2 默认使用转发到 JSP 的调度程序,并且在结果配置中默认使用
"success"
结果代码,默认情况下由 ActionSupport
类返回.