Если вы действительно хотите включить это в свою страницу JSF, то я предлагаю вам использовать JSTL c:import
для этого.
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<c:import url="http://narod.ru/disk/20957166000/test.txt.html" />
МногоеПолегче.Однако это работает, только если вы используете JSF на JSP.Это не будет работать с JSF на Facelets и (к сожалению) также не предлагает аналогичные возможности.
Что касается вашей реальной проблемы: я понятия не имею, так как описанная проблема вызвана вне области действиядавно размещена информация о коде, или вы не запустили код, который, как вы ожидали, выполнялся (перезапустите веб-сервер, чтобы убедиться, что последние изменения в коде Java скомпилированы).По крайней мере, this.filename
вернул неправильное значение, и я вижу, что вы закомментировали URL своей веб-страницы.Возможно, вы изменили это, но не удалось выполнить горячее развертывание или сервер не был перезапущен перед тестированием.
Далее я вижу, что вы печатаете только каждую вторую строку из BufferedReader
и игнорируете каждую первую чередующуюся строку.
while (bufferedReader.readLine() != null) // You're ignoring first line.
{
System.out.println("---- " + bufferedReader.readLine()); // You're only printing next line.
Это не сработает.Предполагая, что вы хотите файл в одном большом String
, вы должны следовать следующей идиоме для правильного использования BufferedReader#readLine()
:
BufferedReader reader = null;
StringBuider builder = new StringBuilder();
try {
reader = new BufferedReader(new InputStreamReader(someInputStream, "UTF-8"));
for (String line = null; (line = reader.readLine()) != null;) {
builder.append(line).append("\n"); // Append newline as well since readLine() eats them.
}
} finally {
if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) {}
}
String content = builder.toString();