Я использую спящий режим для сохранения большого количества текста как BLOB в БД. Таким образом, у меня есть экземпляр класса byte [].

public class News {
  ...
  private byte[] content;

  // getter and setter
  ...
}

Я пытаюсь вывести такую ​​переменную как String в JSP, например. используя тег <s:property>. Кто-нибудь может намекнуть?

0
qinsoon 21 Окт 2012 в 05:34
1
А почему бы вам не сделать преобразование байтов в строку в этом классе News? Это позволит избежать принуждения всех вызывающих абонентов делать это, даже не зная, что это за контент, какую кодировку использовать и т. Д.
 – 
JB Nizet
21 Окт 2012 в 15:55
Вы имели в виду сохранить переменную класса как byte [], но вернуть String в ее получателе? Разве это не вызовет проблем с отображением в спящем режиме?
 – 
qinsoon
22 Окт 2012 в 04:35
1
Да вот что я имею в виду. Вы также можете сохранить геттер, возвращающий массив байтов, если необходимо, и добавить тот, который возвращает его в виде строки. Я бы не вызвал никаких проблем с Hibernate, если бы аннотации были в полях. Если аннотации находятся в геттерах, просто не забудьте добавить аннотацию @Transient в геттер, возвращающий строку.
 – 
JB Nizet
22 Окт 2012 в 11:33

1 ответ

Лучший ответ

Struts2 использует OGNL http://commons.apache.org/ognl/. Итак, в JSP делайте это так же, как в Java.

<s:property value="new java.lang.String(news.content)"/>
0
Aleksandr M 21 Окт 2012 в 15:52