首页 > 解决方案 > Jersey Viewable 显示 json 而不是 JSP

问题描述

我是球衣的新手,并且开发了一个使用 Viewable 的小型应用程序。但在浏览器中,它显示的是 JSON 而不是 JSP 的内容。

这是我的 web.xml

            <display-name>Demo</display-name>
        <filter>
    <filter-name>Jersey</filter-name>
     <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.demo</param-value>
    </init-param>
            <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.server.mvc.jsp.JspMvcFeature</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.config.server.mvc.templateBasePath.jsp</param-name>
        <param-value>/WEB-INF/views</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Jersey</filter-name>
    <url-pattern>/rest</url-pattern>
</filter-mapping>

我的 ResourceConfig 类:

    @ApplicationPath("/rest")
    public class RestApplication extends ResourceConfig 
    {
     public RestApplication() {
     packages("com.demo");
             //register(JspMvcFeature.class);
     property(JspMvcFeature.TEMPLATE_BASE_PATH, "/WEB-INF/views/");
     }
    }

我的资源类:

     @Path("/token")
     public class TokenResource {
            @GET
        @Path("/getAccessToken")
        public Viewable getAccessToken(){
                   Map<String, String> model = new HashMap<>();
                   return new Viewable("/home.jsp", model);
            }
          }

这是我浏览器中的输出:

         {"templateName":"/home.jsp","templateNameAbsolute":true}

我参考了网上其他的帖子。并且发布的一些示例似乎对他们有用。我想知道我是否缺少某些东西。提前非常感谢。

标签: javarestjspjersey

解决方案


推荐阅读