将text-resource插入jsf页面

时间:2010-08-24 16:15:46

标签: jsf rest

有一个RESTful服务正在生成text/plain,我想将该内容添加到我的JSF页面中。那可能吗?那有标签吗?

1 个答案:

答案 0 :(得分:0)

如果您使用JSP作为视图技术,则可以使用JSTL <c:import>。它就像

一样简单
<c:import url="http://example.com/service" />

然而,它并不像您期望的那样与JSF同步运行。此外,Facelets不支持此功能。因此,如果您想要有条件地呈现/显示它(因此与JSF同步)或使用Facelets,那么您必须在托管bean中执行此操作。首先,您可以使用java.net.URL和consorts从网址获取内容。

InputStream input = new URL("http://example.com/service").openStream();
Reader reader = new InputStreamReader(input, "UTF-8"); // You may want to verify charset based on response headers.
StringBuilder builder = new StringBuilder();
for (int data; (data = reader.read()) > -1;) {
    builder.append((char) data);
}
String result = builder.toString();

将它放在构造函数或操作方法中,具体取决于它需要执行的条件。但是,您也可以将其全部包含在独立的自定义/复合组件或EL函数中。

相关问题: