1

我们可以从动作类方法返回任何对象类型给拦截器,而不是返回一个字符串,然后从拦截器返回一个字符串来识别所需的结果吗?

4

2 回答 2

2

从技术上讲,是的,如果您绕过“调用”机制。你应该?可能不会。

更简洁、规范的 S2 方法是向拦截器公开一个属性,该属性由操作实现的接口定义。例如,您可以调用它RevisionableRevisionAware公开一对由beforeafter引用组成的。

在您的拦截器中,您将使用伪代码检查该接口:

if (action instanceof Revisionable) {
    return processRevisionablePair();
}

您可能会在接口中包含一个方法来处理返回适当结果的特定于操作或模型的修订,或者如果它在整个应用程序中是相同的,您可以将功能包装在拦截器中并具有“修改”和/或“未修改”的结果等。

返回字符串以外的内容的操作方法偏离了框架的预期,导致处理不同操作的多种方式、多种测试方式等等。呸。保持一致,并避免不必要的文档层和差异化。

最后,要根据 action 方法返回值返回结果,您需要实现一个PreResultListener提供结果名称的方法。根据文档invoke返回后已经呈现结果。

于 2013-06-10T14:05:25.000 回答
0

Result您可以直接从您的操作中返回接口实例。

于 2013-06-11T05:09:58.940 回答