我们正在开发一个应用程序,我们使用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":"Test","resolvingClass":null,"templateNameAbsolute":true}
我也提到了this blog post,但是徒劳无功。
我有两个问题:
答案 0 :(得分:0)
使用temporaryRedirect
或Response
:
Response.temporaryRedirect(URI.create("REQUIRED_URL").build();