Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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 Struts2结果注释是否覆盖或添加到超类定义的值?_Java_Struts2_Annotations_Superclass - Fatal编程技术网

Java Struts2结果注释是否覆盖或添加到超类定义的值?

Java Struts2结果注释是否覆盖或添加到超类定义的值?,java,struts2,annotations,superclass,Java,Struts2,Annotations,Superclass,下面的示例:我有一个struts操作的超类和子类。 超类定义@Result,子类需要定义额外的特定的@Result条目。例如: @Results({ @Result(name=BaseAction.ERROR, location="/WEB-INF/jsp/error.jsp") }) public abstract class BaseAction extends ActionSupport implements ServletRequestAware { ... } …和一

下面的示例:我有一个struts操作的超类和子类。 超类定义
@Result
,子类需要定义额外的特定的
@Result
条目。例如:

@Results({
    @Result(name=BaseAction.ERROR, location="/WEB-INF/jsp/error.jsp")
})
public abstract class BaseAction extends ActionSupport implements ServletRequestAware {
    ...
}
…和一个子类

@Results({
    @Result(name=BaseAction.INDEX, location="/WEB-INF/jsp/reporting/index.jsp")
})
public class ReportAction extends BaseAction {
    ...
}
我的问题是,ReportAction实例是否只定义了
索引的
@Result
,或者它是否还包含在任何if超类中定义的
@Result
条目。 我的
ReportAction
是否知道为
BaseAction.ERROR设置的位置

谢谢,
马丁

两者都有。您可以使用配置浏览器插件进行验证。

它将能够识别BaseAction.INDEX和BaseAction.ERROR


如果结果在子类(在您的案例ReportAction类中)中可用,则它将遵循该结果,否则它将在超类(在您的案例BaseAction类中)中查找。

是,您的ReportAction类将同时具有BaseAction.INDEX和BaseAction.ERROR

一般的超类或子类规则也适用于这种情况。如果你在你的子类中找不到什么东西,它会去寻找超类


在您的子类中未找到BaseAction.ERROR,它将进入并查看超类。

是的,您做了正确的事情。
ReportAction
将同时包含结果
ERROR
索引
。你可以看一看。为什么不通过检查
结果映射呢。