到目前为止,我已成功地使用Apache Wink设置基本的Web服务。这包括根据提供的样本返回Atom,JSON,HTML,XHTML,XML和纯文本媒体类型。我也已经能够成功地使用MessageBodyWriter来“手动”生成XHTML输出。到目前为止,很棒。我很高兴通过现有的Wink机制返回大多数媒体类型。如何使用JSP从Apache Wink返回XHTML输出?
我想要现在做的是有返回的XHTML内容使用的JSP。也就是说,我想使用一个JSP作为输出模板,通过发送POJO作为参数来填充JSP中的字段。下面是我现在所拥有的一些伪代码。
@Path("{id}")
@GET
@Produces({MediaType.APPLICATION_XHTML_XML})
public Response getXhtml(@PathParam("id") String id)
{
try {
MyBean mybean = service.getBean(id);
return Response.ok(new MyAsset(mybean))
.location(new URI(baseurl+"Output.jsp"))
.type(MediaType.APPLICATION_XHTML_XML).build();
} catch (Exception e) {
throw new WebApplicationException(e,Status.INTERNAL_SERVER_ERROR);
}
}
它似乎完全忽略了JSP。如果我终于弄清楚了,我需要知道如何通过POJO作为参数。我知道我在这里错过了一些东西,因为我认为Apache Wink可以与基于JSP的Web服务进行互操作。 Wink文档通常很好,但我找不到任何关于此的内容。感谢您的任何帮助,理想情况下,链接到一个工作示例。
嗨,谢谢你的回复。在URI中返回输出意味着我们将被迫公开URI字符串中的所有输出参数(即,显示在用户的浏览器位置栏中),而不是将该信息隐藏在Web服务和JSP。这看起来并不是很平静,更重要的是,我们希望纯粹在服务和JSP之间保留一些隐私信息。 – 2012-07-08 23:14:08
你也可以从头文件返回它并从jsp访问头文件。所以私人信息不会出现在网址中。 – Tarlog 2012-07-09 07:19:20