java - 在 ReST 响应中返回 JSP

标签 java jsp rest jersey

我们正在开发一个应用程序,我们将使用 Jersey - ReST 公开服务。在某些情况下,我们需要返回 JSP 而不是仅返回 JSON 响应。我在互联网上搜索并找到了一些方法来实现这一目标。以下是我到目前为止所做的配置:

Web.xml

<servlet>
        <servlet-name>jersey-servlet</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>in.test.resource.MyApp</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath</param-name>
            <param-value>/WEB-INF/jsp</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>

ReST 资源 Java 类

@GET
@Path("/somePath")
public Response getPickListItems(@QueryParam("name") String name) {
    // business logic
    return Response.ok(new Viewable("/myJsp.jsp", "Test")).build();
}

现在,当我在浏览器中点击 URL 时,我只能看到以下响应: {"templateName":"/myJsp.jsp","model":"测试","re​​solvingClass":null,"templateNameAbsolute":true}

我提到了this blog post也一样,但徒劳无功。

我有两个问题:

  1. 从 ReST 服务响应中返回 JSP 真的可以实现吗?
  2. 如果是,是不是我遗漏了什么?

最佳答案

这是通过使用 temporaryRedirectResponse 解决的:

Response.temporaryRedirect(URI.create("REQUIRED_URL").build();

关于java - 在 ReST 响应中返回 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26340527/

相关文章:

java.lang.IllegalArgumentException : column '_id' does not exist - UploadActivity

java - 如何使用 Guice 3.0 为 JSP 提供服务?

javascript - 选择自动完成选项时提交表单

http - 如何使用 "POST to PUT redirect"建模 REST API?

java - 输入过滤器清除预加载文本

java - gson 值名为 "protected"的 json

java - 如何使用 XML 中的 CXF JAX-RS 和 Jackson 2 配置服务器返回的日期格式?

java - 如何防止 guest 用户访问管理页面

javarest返回json响应给 postman - 语法错误: unexpected 'S'

rest - 在 CakePHP 中使用带有 RESTful 路由的路由前缀