Me preguntaba si alguien tenía una idea de la mejor manera de proporcionar la funcionalidad de bindData() fuera de mis controladores Grails. En mi proyecto actual he creado varias clases groovy para modelar objetos devueltos por una API. En estas clases tengo un método estático que analiza xml y devuelve una lista de objetos de la clase. Me gustaría omitir todas las tonterías de conversión utilizando el método bindData en estas clases. Cualquier sugerencia sobre cómo hacerlo sería apreciada.Usando el método bindData fuera del controlador
6
A
Respuesta
8
Estaba buscando una solución similar, para usar bindData en una clase de servicio. Encontré una solución en JT's blog. La solución es, básicamente, a la importación:
import org.codehaus.groovy.grails.web.metaclass.BindDynamicMethod
continuación, agregue esto a su código:
def foo = new Foo()
BindDynamicMethod bind = new BindDynamicMethod()
def args = [ foo, params, [exclude:['name', 'mail']] ] // for example
bind.invoke(foo, 'bind', (Object[])args)
el ([] Objeto) reparto es necesaria para la compatibilidad du Groovy/Java. (Groovy trata el objeto 'args' como ArrayList, no como una matriz de Objetos.)
Cuestiones relacionadas
- 1. ¿cómo pruebo el método del controlador usando rspec?
- 2. MVC3 Pasando ViewModel al método del controlador usando JQuery Ajax
- 3. Usando var fuera de un método
- 4. Compruebe si el modelo es válido fuera del controlador
- 5. ¿Puedo usar setContentView fuera del método oncreate?
- 6. grails anula el método del controlador de redireccionamiento
- 7. Redirecciona a una URL diferente fuera del proyecto desde el Controlador
- 8. ¿Cómo abro un archivo usando el controlador predeterminado del shell?
- 9. Bloqueo USB usando el controlador del minifiltro (passThrough)
- 10. Ruby no puede acceder a la variable fuera del método?
- 11. Convención en java - "nuevo" fuera del constructor/método?
- 12. Obtener el nombre del controlador del controlador en sí
- 13. ¿Cómo puedo obtener el tamaño del lienzo de una vista personalizada fuera del método onDraw?
- 14. método init en el controlador ZF2
- 15. Obteniendo el nombre del controlador y el método de acción en la vista en ASP.Net MVC
- 16. llamadas WS asíncronas y espera() fuera de un controlador
- 17. ¿Qué devolver si el método del controlador Spring MVC no devuelve el valor?
- 18. Método de llamada de ayuda del controlador Rails 3
- 19. Usando una variable fuera del ciclo while (alcance)
- 20. Método del controlador de llamadas en link_to desde la vista
- 21. Cómo borrar mediante programación el outputcache para el método de acción del controlador
- 22. ¿Cómo especificar el argumento predeterminado del método usando define_method?
- 23. ZF2 cómo conseguir gestor de la entidad desde fuera del controlador
- 24. Firma del método real usando Reflection
- 25. Usando el método .where en Rails3
- 26. Estado del método de captura usando Reflection
- 27. nombre del modelo al nombre del controlador
- 28. Manejo del botón 'Hecho' en el teclado fuera de textViewDidEndEditing
- 29. ArgumentOutOfRangeException: El índice estaba fuera del rango
- 30. Conectando a mongodb usando el controlador PDO
Si esto se utiliza en un subproceso spinned off (al menos con el ejecutor-plugin), parece fallar debido a la solicitud faltante: ** java.lang.IllegalStateException: no se ha encontrado ninguna solicitud enlazado: ¿se refiere a atributos de solicitud fuera de una solicitud web real ... ** – heikkim