以下示例:我有一个struts动作的超类和子类。
超类定义@Results
,子类需要定义其他特定@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
INDEX
,还是包含任何@Result
条目如果它是超类。
我的ReportAction
是否知道为BaseAction.ERROR
??
谢谢, 马丁
答案 0 :(得分:2)
是的,您的ReportAction类将同时具有BaseAction.INDEX和BaseAction.ERROR。
一般超类或子类规则也适用于这种情况。如果你在子类中找不到东西,那么它将进入超类。
在您的子类中未找到BaseAction.ERROR的情况下,它会查看超类。
答案 1 :(得分:0)
两者都有。您可以使用配置浏览器插件进行验证。
答案 2 :(得分:0)
它将能够识别BaseAction.INDEX和BaseAction.ERROR。
如果结果在Subclass(在你的情况下为ReportAction类)中可用,它将遵循,否则它将查找超类(在你的情况下为BaseAction类)。