Jersey Freemarker MVC

时间:2015-07-30 13:04:24

标签: model-view-controller jersey freemarker

我尝试在TomEE 1.7.2上配置jersey-mvc-freemarker。但我不能......

配置Jersey

@ApplicationPath("resources")
public class JerseyConfig extends ResourceConfig{
    public JerseyConfig() {
        packages("my.pack.controllers")
        .property(MvcFeature.TEMPLATE_BASE_PATH, "/WEB-INF/classes/my/pack")
        .register(org.glassfish.jersey.server.mvc.freemarker.FreemarkerMvcFeature.class);

    }

}

控制器

@Path("main")
public class MainController {

    @Inject
    private TestBean bean;

@GET
public Viewable getIt() {

        return new Viewable("test");
    }
}

的web.xml

 <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     version="2.4">

    <display-name>ui</display-name>
</web-app>

我把test.ftl放到my.pack

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
test
</body>
</html>

当我转到http://localhost:8080/resources/main时,我收到消息

  

没有为响应类Viewable找到消息正文编写器。

谢谢你

更新

我在泽西岛配置了跟踪并得到了:

    javax.servlet.ServletException: Error processing webservice request


        org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:98)


org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        root cause

        java.lang.NullPointerException
            org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:227)
            org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
            org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        note The full stack trace of the root cause is available in the Apache Tomcat (TomEE)/7.0.62 (1.7.2) logs.

0 个答案:

没有答案