Struts 2 中替换 Struts 1 DispatchAction.types

问题描述 投票:0回答:1

我正在尝试在 Struts 2 中找到

org.apache.struts.actions.DispatchAction.types
的替代品。

下面是代码片段:

if(types != null)
{
    if(types.length == forward.length)
    {
        select.add(type[0]);
    }
}

forward
是字符串类型对象,
select
是列表类型数组。

struts2 struts struts-1
1个回答
0
投票

DispatchAction.types
的文档:

types
protected java.lang.Class[] types
反射方法调用的参数类型类集。这些对于所有调用都是相同的,因此只需计算一次。

Struts2 中没有相同的东西。您应该刷新一下思维,了解 struts2 的工作方式与 struts-1 不同。

例如,您可以将操作直接映射到方法。您可以使用 SMI 进行方法调用,如thisanswer

您应该将注释直接放在方法上。因为如果你把它放在类上,默认方法

execute()
将用于映射。

@ParentPackage("basePackage")
@Namespace("/")
@AllowedMethods("test")
public class UserAction {

    @Action(value = "userAction")
    public String test() {
        // your code
        rerurn Action.SUCCESS;
    }
}

或使用通配符映射,如this答案。

如果在同一包中使用,操作名称将被覆盖。操作名称映射到特定方法或

execute

您可以使用通配符映射将方法名称放入操作中。

<action name="*product" class="com.DispatchAction" method="{1}">
© www.soinside.com 2019 - 2024. All rights reserved.