вставить текстовый ресурс на страницу JSF - PullRequest
0 голосов
/ 24 августа 2010

есть служба RESTful, которая производит text/plain, и я хочу добавить этот контент на мою страницу JSF.Это возможно?Есть ли тег для этого?

1 Ответ

0 голосов
/ 24 августа 2010

Если вы используете JSP в качестве технологии просмотра, вы можете использовать для этого JSTL <c:import>.Это так же просто, как

<c:import url="http://example.com/service" />

Однако он не работает синхронно с JSF, как вы ожидаете от кодирования.Кроме того, это не поддерживается в Facelets.Поэтому, если вы хотите отобразить / отобразить его условно (и, следовательно, выполнить синхронно с JSF) или используете Facelets, вам придется сделать это в управляемом компоненте.Для начала вы можете использовать java.net.URL и консорты для получения содержимого из URL.

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.

Вопросы, связанные с данной:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...