2011-09-26 11 views
8

El siguiente ejemplo: Tengo una superclase y una subclase para una acción de puntales. La superclase define @Results, y la subclase necesita para definir adicionales entradas específicas @Result. Por ejemplo:Do Struts2 ¿Las anotaciones de resultados anulan o agregan a los valores definidos de la superclase?

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

..y una subclase

@Results({ 
    @Result(name=BaseAction.INDEX, location="/WEB-INF/jsp/reporting/index.jsp") 
}) 
public class ReportAction extends BaseAction { 
    ... 
} 

Mi pregunta es, ¿tiene una instancia de ReportAction solamente tienen la @Result de INDEX definido, o también contiene ningún @Result entradas definidas en cualquier caso si se trata de superclases. ¿Conoce mi ReportAction la ubicación establecida para BaseAction.ERROR?

Gracias, Martin

+2

Sí, hizo lo correcto. El 'ReportAction' contendrá los resultados' ERROR' e 'INDEX'. Puede echar un vistazo a ** [ESTA respuesta] (http://stackoverflow.com/questions/6765810/struts2-convention-plugin-results-using-herheritance/6770638#6770638) **. Y por qué no compruebas las 'asignaciones de resultados' en ** [Plugin de navegador de configuración] (http://struts.apache.org/2.2.3.1/docs/config-browser-plugin.html) **. – lschin

Respuesta

1

Sí, su clase ReportAction tendrá BaseAction.INDEX y BaseAction.ERROR.

En este caso también se aplicará la regla general de superclase o subclase. Si no encuentras algo en tu subclase, irá y observará la superclase.

En su caso, BaseAction.ERROR no se encuentra en su subclase y buscará en la superclase.

0

Tendrá ambos. Puede verificar con el plugin de navegador de configuración.

0

Podrá identificar tanto BaseAction.INDEX como BaseAction.ERROR.

Si el resultado está disponible en la Subclase (en su caso clase ReportAction) seguirá eso, de lo contrario se verá en la superclase (en su caso, clase BaseAction).

Cuestiones relacionadas