2010-08-30 3 views
0

я получил эту проблему еще раз ...Struts2 данные вырезанная в строке отправить Jsp

Так что я получил данные строк в моем приложении Struts2. эти данные довольно большой, данные 36kb читать HTML с кодом:

 BufferedReader reader = new BufferedReader(new FileReader("FILE.html")); 
     String readData; 
     while((readData = reader.readLine()) != null) { 
      fileData.append(new String(readData.getBytes(),"UTF-8")); 
     } 
     reader.close(); 
     fileData.trimToSize(); 
     this.data2display = fileData.toString(); 
     this.setData2display(this.data2display.replaceAll("\\s+", " ")); 

отобразить data2display в моем файле JSP, только с:

<s:property value="data2display" escape="false" escapeJavaScript="false" /> 

Aaaaaand ... Эти данные в то время как весь я» m, но пока я пытаюсь отобразить это в jsp. У меня есть только часть данных. У меня нет журналов ошибок/отладки.

Любая идея, как проверить его/исправить?

Мое приложение: (struts2, jsp) все от appfuse-basic-struts archetype.

ответ

1

Моя личная начальная точка будет источником PropertyTag, а оттуда последует за кодом.

В этом случае начните с PropertyTag. Вы видите, что он расширяет ComponentTagSupport, что, в свою очередь, расширяет StrutsBodyTagSupport.

Здесь все становится интересным; метод toString использует FastByteArrayOutputStream, который использует размер блока по умолчанию (буфер) 8192 байта. Используя конструктор по умолчанию, как это сделано StrutsBodyTagSupport, вы не можете вывести String с большим количеством данных, чем это.

Будучи не экспертом по Struts Я не решаюсь сказать, что это ошибка реализации; он должен ИМХО вычислить размер буфера от value для печати. К сожалению, нет. Поэтому я не думаю, что вокруг есть простой способ.

Несложный способ, очевидно, определяет список данных из строковых данных размером менее 8 Кбайт и перебирает этот список в JSP или просто использует c: out или что-то в этом роде.

Это не может быть ответ, который вы ищете, но я надеюсь, что это будет по крайней мере, поможет вам понять проблемы, которую вы в.

+0

Спасибо, это было именно то, что я искал! ;) – tzim

+0

@tzim красота открытого источника в сочетании с Google :) – extraneon

Смежные вопросы