il semble que je ne peux pas envelopper ma tête autour de la façon d'implémenter un ViewProcessor personnalisé dans Jersey. Ihave la ressource suivante:jersey (jsr 311) et personnalisé ViewProcessor
@Path("/events")
public class EventController extends AbstractController {
private static final Logger LOG = LoggerFactory.getLogger(EventController.class);
@Resource(name = "eventService")
private EventService eventService;
public void setEventService(EventService eventService) {
this.eventService = eventService;
}
@GET
@Produces(MediaType.TEXT_HTML)
public Viewable viewEventsAsHtml() {
Map<String, String> model = new HashMap<String, String>();
model.put("msg", "test");
return new Viewable("/events.jsp", model);
}
}
depuis que je veux organiser mon point de vue jsp dans "/ WEB-INF/vues/jsp" i étendue JSPTemplateProcessor ainsi:
public class CJJspTemplateProcessor extends JSPTemplateProcessor {
private static final Logger LOG = LoggerFactory.getLogger(CJJspTemplateProcessor.class);
private final String basePath = "/WEB-INF/views/jsp";
public CJJspTemplateProcessor(@Context ResourceConfig resourceConfig) {
super(resourceConfig);
}
@Override
public String resolve(String name) {
String path;
if (!name.endsWith(".jsp")) {
name += ".jsp";
}
path = basePath + name;
LOG.debug("resolving " + name + " to " + path);
return path;
}
}
mais lorsque je navigue à l'événement ressource je reçois un 404, bien que je puisse voir que le TemplateProcessor a résolu le bon chemin pour le jsp dans les fichiers journaux.
PLX aide :)
Pouvez-vous partager votre exemple d'implémentation de JSPTemplateProcessor. – cmani