【问题标题】:RestEasy open html/jsp pageRestEasy 打开 html/jsp 页面
【发布时间】:2012-08-28 11:59:06
【问题描述】:

有一个 RestEasy 方法,它处理@GET 请求。怎么可能从那个方法打开一个jsp/html页面?

@GET
@Path("/")
public void getMainPage(){
   //... 
}

【问题讨论】:

  • this 怎么样?
  • 我应该向 maven 项目添加哪个依赖项?添加 servlet-api 2.5 没有帮助...
  • 我不知道,我什至不知道你到目前为止有什么依赖关系。如果您对该问题的答案发表评论,询问需要哪些依赖项,它会更快。谈到 JAX-RS,我更像是泽西岛人。

标签: rest resteasy webpage-rendering requesthandler


【解决方案1】:

HtmlEasy是一个通过RestEasy渲染jsp文件的好工具。

@Path("/")
public class Welcome {
    @GET @Path("/welcome/{name}")
    public View sayHi(@PathParm("name") String name) {
        return new View("/welcome.jsp", name);
    }
}

请参阅documents 了解所有选项。

【讨论】:

    【解决方案2】:

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

    @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");
    }
    

    这可以模拟 Htmleasy 插件的某些行为,而无需重新连接您的 web.xml。

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 2011-04-04
      • 2023-03-19
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 2012-04-16
      • 2013-03-21
      • 1970-01-01
      相关资源
      最近更新 更多