Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts 2 JSON插件和通配符问题_Java_Json_Struts2_Wildcard_Struts2 Json Plugin - Fatal编程技术网

Java Struts 2 JSON插件和通配符问题

Java Struts 2 JSON插件和通配符问题,java,json,struts2,wildcard,struts2-json-plugin,Java,Json,Struts2,Wildcard,Struts2 Json Plugin,在mystruts.xml中,遵循一种约定来调用特定操作类的操作,如下所示: struts.xml: pages/ConfigureTspThresholdInput.jsp 我通过通配符获取方法名,ConfigureTspThresholdAction是类名 我正在使用struts2 json插件将数据转换为json。现在,对于一些操作,我想使用Struts2 JSON插件返回JSON数据 因此,我需要使用extendsjson default和result typejson来执行以下操作

在my
struts.xml
中,遵循一种约定来调用特定操作类的操作,如下所示:

struts.xml


pages/ConfigureTspThresholdInput.jsp
我通过通配符获取方法名,
ConfigureTspThresholdAction
是类名

我正在使用
struts2 json插件
将数据转换为json。现在,对于一些操作,我想使用Struts2 JSON插件返回JSON数据

因此,我需要使用extends
json default
和result type
json
来执行以下操作:


tspNameIdMap
阈值参数
因此,不同的排除属性具有相同的结果类型
json

如何使这些JSON结果类型符合所遵循的约定


由于最后两个操作将发生冲突,因为它们具有相同的结果类型
json

选项之一是在结果配置中使用动态参数。在执行结果之前,始终可以修改操作中的结果。看答案

您可以使用一个动态参数作为结果,请参阅配置

在动作中,您应该为参数编写一个getter

private String actionUrl;

public String getActionUrl() {
   return actionUrl;
}
并配置结果

<action name="create" class="CreateAction">
   <result type="redirect">${actionUrl}</result>
</action>

${actionUrl}

其中一个选项是在结果配置中使用动态参数。在执行结果之前,始终可以修改操作中的结果。看答案

您可以使用一个动态参数作为结果,请参阅配置

在动作中,您应该为参数编写一个getter

private String actionUrl;

public String getActionUrl() {
   return actionUrl;
}
并配置结果

<action name="create" class="CreateAction">
   <result type="redirect">${actionUrl}</result>
</action>

${actionUrl}

我要做的是在action类中创建一个属性
myexcludedProperties

然后在操作方法中,设置此
myexcludedProperties

然后将动作映射更改为

<action name="*ConfigureTspThreshold" class="cdot.oss.cmsat.gma.struts.ConfigureTspThresholdAction"
            method="{1}">
            <result type="json">
                <param name="excludeProperties">
                    ${myexcludedProperties}
                </param>
            </result>
</action>

${myexcludedProperties}
我相信
${myexcludedProperties}
是正确的语法

如果不想对属性进行编码,则必须找出如何区分请求(
method=“{1}”
),以便设置正确的参数


希望这是有道理的

我要做的是在action类中创建一个属性
myexcludedProperties

然后在操作方法中,设置此
myexcludedProperties

然后将动作映射更改为

<action name="*ConfigureTspThreshold" class="cdot.oss.cmsat.gma.struts.ConfigureTspThresholdAction"
            method="{1}">
            <result type="json">
                <param name="excludeProperties">
                    ${myexcludedProperties}
                </param>
            </result>
</action>

${myexcludedProperties}
我相信
${myexcludedProperties}
是正确的语法

如果不想对属性进行编码,则必须找出如何区分请求(
method=“{1}”
),以便设置正确的参数


希望这是有道理的

在操作中放入不同的结果,并从方法返回不同的结果代码。@AleksandrM:result必须是JSON。我不明白你的意思。你能通过一些代码详细说明或解释吗???你如何确定哪些财产需要排除?这个问题一点也不清楚。请编辑它,准确地解释你想要什么,以及你在尝试实现它时遇到了哪些问题。在不知道问题的情况下回答问题是很困难的。在操作中放入不同的结果,并从方法返回不同的结果代码。@AleksandrM:result必须是JSON。我不明白你的意思。你能通过一些代码详细说明或解释吗???你如何确定哪些财产需要排除?这个问题一点也不清楚。请编辑它,准确地解释你想要什么,以及你在尝试实现它时遇到了哪些问题。在不知道问题的情况下很难回答问题。