Ho questo in src/main/scanalato/...Spring MVC controllore annotato scanalato
package com.mycompany.web;
// imports....
@Controller
class GroovyController {
@RequestMapping("/status_groovy")
public @ResponseBody String getStatus() {
return "Hello World from groovy!";
}
}
Uso Maven 3 e molla 3.1 (Milestone). Spring MVC funziona perfettamente per i controller java e tutto è impostato bene. La classe groovy viene compilata correttamente e può essere trovata nella directory classes
insieme alle classi del controller java.
Ho un controller simile scritto in java (JavaController) nello stesso pacchetto ma in src/main/java e viene rilevato correttamente dalla primavera e mappato e posso vedere la risposta sullo schermo quando premo l'url.
package com.mycompany.web;
// imports....
@Controller
class JavaController {
@RequestMapping("/status")
public @ResponseBody String getStatus() {
return "Hello World!";
}
}
Jetty si avvia normalmente senza errori nel registro, ma in non vedo url groove sempre mappati mentre posso vedere quello Java.
2011-09-23 16:05:50,412 [main] INFO org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/status],methods=[],params=[],headers=[],consumes=[],produces=[]}" onto public java.lang.String com.mycompany.web.JavaController.getStatus()
Tutte le impostazioni vanno bene come in altre parti del app stanno lavorando molto bene con annotazioni (componente-scan, ecc), solo che non posso ottenere l'url mappato in GroovyController
Qualcuno può spiegare che cosa deve essere fatto al fine di ottenere Controller
s scritto in groovy funzionante?
PS: sto evitando che GroovyServlet esegua gli script perché presenta uno svantaggio importante quando si tratta dell'iniezione di bean e delle mappature dei percorsi di url.
ti suggerisco di aggiungere la definizione di fagioli per la tua risposta. – Zeki