Sé cómo utilizar la invocación de métodos comodín dentro de struts.xml, pero ¿es posible hacer esto con anotaciones? ¿Si es así, cómo?¿Es posible utilizar la invocación de métodos comodín en Struts2 con el complemento de convenciones utilizando solo anotaciones?
6
A
Respuesta
8
Probablemente ya lo haya resuelto, pero para aquellos que buscan una respuesta, sí, es posible.
Para asignación de comodín, se refieren a: http://struts.apache.org/2.3.1.2/docs/wildcard-mappings.html
Para leer params de la url, anotar su método con esto:
private String id;
@Action(value = "edit/{id}",
results={@Result(name = "success", location = "/WEB-INF/views/devices/edit.ftl")}
)
public String edit() {
// do something
return SUCCESS;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
- necesitará un captador/definidor del parámetro id.
- Debe especificar los resultados ya que struts2 no sabrá qué usar para tener éxito con la url: ... edit/123, de ahí la necesidad de usar @Result para apuntar a su archivo. Un poco defiende el propósito del plugin de convención allí.
En el caso quiero redireccionar a una URL concreta, use esta anotación:
@Action(value = "index",
results={@Result(name = "success", location = "/devices/edit/${entityId}", type = "redirect")}
)
Se necesitaría un captador/definidor de la entityId (String en mi caso).
También puede haber avanzado mapeo wilcard, asignación de comodín espacio de nombres ...
No se olvide de cambiar el struts.xml y añadir las siguientes constantes.
<!-- Used for advanced wilcard mapping -->
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
<constant name="struts.patternMatcher" value="regex" />
Cuestiones relacionadas
- 1. Descubre la clase de una invocación de método en el procesador de anotaciones para java
- 2. ¿Es posible utilizar OutputCache en mvc JsonResult métodos de controlador?
- 3. Solicitud POST a Struts2 con el complemento REST sin respuesta
- 4. ¿Es posible definir convenciones de nombres personalizados para el reafilado?
- 5. YQL Cómo utilizar el comodín en XPath
- 6. ¿Es posible utilizar anotaciones de datos para LabelFor, ValidationMessageFor, EditorFor con recursos fuertemente tipados?
- 7. ¿Es posible comodín nombres de registrador en la configuración de log4net?
- 8. Java: ¿es posible generar la stacktrace con firmas de métodos?
- 9. Posible utilizar AngularUI jQuery PassThrough para el complemento WayPoints?
- 10. SQL LIKE Rendimiento con solo el comodín (%) como valor
- 11. ¿Cuál es la diferencia entre el paso de mensajes y la invocación de métodos?
- 12. ¿Es posible aplicar el comportamiento de solo lectura con SqlCommand?
- 13. internacionalización Struts2 utilizando una base de datos
- 14. ¿Es posible utilizar fuentes personalizadas, utilizando font-face?
- 15. Invocación de métodos estáticos que contienen parámetros genéricos utilizando la Reflection
- 16. Corrección de const en Java utilizando anotaciones?
- 17. ¿Es posible generar un certificado X509 programáticamente utilizando solo C#?
- 18. NSubstituir la invocación de la propiedad "setter" interceptor solo
- 19. ¿Es posible utilizar Python con php
- 20. Colecciones de Java con el comodín
- 21. ¿es posible escanear el classpath de android para anotaciones?
- 22. ¿Es posible implementar coroutines utilizando solo primitivas LISP?
- 23. ¿Cómo utilizar RESTEasy PreProcessInterceptor solo en métodos específicos?
- 24. ¿Es posible trabajar en Eclipse solo con el teclado?
- 25. ¿Es posible utilizar el cifrado del modo AES CTR utilizando la API EVP?
- 26. Java - Invocación y ejecución de métodos
- 27. ¿Es posible usar anotaciones y archivos hbm.xml en el mismo proyecto en Hibernate?
- 28. ¿Es posible anotar solo un modelo en Ruby on Rails?
- 29. ¿Es posible utilizar la autenticación implícita con una solicitud XMLHTTP?
- 30. ¿Es posible utilizar la autenticación dual con symfony2?
¿Puede dar un ejemplo de un mapeo struts.xml que le gustaría hacer con las anotaciones? –
Ha pasado tanto tiempo desde que miré esto ... qué tal "*" que coincida con cualquier cosa de esa manera, puedo señalar a alguien en una página de error si no coincide con ningún otro patrón. Utilizaría el complemento de convenciones. – Quaternion