RESTeasy并返回带有模型的JSP页面

Loo*_*mer 19 model-view-controller jboss resteasy

是否有一种简单的,而不是使用弹簧的方式让RESTeasy返回带有模型的jsp或html页面?我想做一些类似于Spring的ModelAndView,我有一个请求说/ contacts/loomer并让它在jsp模板中返回一个模拟对象.我看到的所有示例都是针对JSON/XML的.我知道在Jersey你可以使用可查看的,但我只需要使用RESTeasy的东西.

谢谢!

我想要这样的东西(但没有春季模式视图):

   @POST
   @PUT
   @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
   @Produces(MediaType.TEXT_HTML)
   public ModelAndView saveContactForm(@Form Contact contact)
         throws URISyntaxException
   {
      service.save(contact);
      return viewAll();
   }
Run Code Online (Sandbox Code Playgroud)

Loo*_*mer 22

好的,我想到了任何有兴趣的人.一旦我找到了一个例子,它实际上是相当微不足道的.

@GET
@Path("{eventid}")
@Produces("text/html")
public void getEvent(@Context HttpServletResponse response,
        @Context HttpServletRequest request,
        @PathParam("eventid") Long eventid) throws ServletException,
        IOException {

    EventDao eventdao = DaoFactory.getEventDao();
    Event event = eventdao.find(eventid);

    request.setAttribute("event", event);
    request.getRequestDispatcher("eventView.jsp").forward(request, response);

    }
Run Code Online (Sandbox Code Playgroud)


maj*_*zai 5

使用org.jboss.resteasy.resteasy-htmlversion 3.0.6.Final您可以直接访问HttpServletRequest和,并在将输出定向到RESTEasy之前注入您自己的属性View

@GET
@Path("{eventid}")
@Produces("text/html")
public View getEvent(@Context HttpServletResponse response,
                     @Context HttpServletRequest request,
                     @PathParam("eventid") Long eventid){

    EventDao eventdao = DaoFactory.getEventDao();
    Event event = eventdao.find(eventid);

    request.setAttribute("event", event);
    return new View("eventView.jsp");
}
Run Code Online (Sandbox Code Playgroud)

这模拟了Htmleasy插件的某些行为,而无需重新布线web.xml