Как я могу получить текст UTF-8 в классе действий в Struts 2?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу получить текст UTF-8 в классе действий в Struts 2?

Сообщение Anonymous »

Я разрабатываю веб-приложение с использованием Struts 2 и Hibernate.
Но у меня есть проблема: когда я запускаю сервер и загружаю веб-сайт, мой метод загрузки начинает действовать. будет вызван, но он не может загрузить UTF-8, вместо "Phương" я получаю "PH??NG". Но на странице JSP по-прежнему отображается «Phương». Итак, когда я выполняю свой SQL-запрос, и это (

Код: Выделить всё

from Posts WHERE topics like '%PH??NG PHÁP GIÁO D?C TR?%'
, поэтому я не могу выполнить запрос к своей базе данных.
Мой класс действий здесь:

Код: Выделить всё

public class PostsAction extends ActionSupport {
private List homeTopics = new ArrayList();
public List getHomeTopics() {
return homeTopics;
}

public void setHomeTopics(List homeTopics) {
this.homeTopics = homeTopics;
}

public void callHomeTopics(){
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction trans = session.beginTransaction();
String[] list = {"NEW – TIN TỨC TRẺ","Khu Vui Chơi Cho Trẻ","PHƯƠNG PHÁP GIÁO DỤC TRẺ","KỸ NĂNG – KINH NGHIỆM","Phòng Bệnh","Tập Tô Màu"};
for (int i = 0; i < list.length; i++) {
getTopics(session, trans, list[i]);
}
trans.commit();
session.close();
}

public void getTopics(Session session, Transaction trans, String type) {
String hql = "from Posts WHERE topics like '%" + type + "%'";
System.out.println("HQL: " + hql);
Query query = session.createQuery(hql);
query.setMaxResults(3);
List t = (ArrayList) query.list();
HomeTopic h = new HomeTopic(type, t);
System.out.println("List topics: " + type + " " + t);
homeTopics.add(h);
session.flush();
}

Код: Выделить всё

HomeTopics.java
класс:[/b]

Код: Выделить всё

 public class HomeTopic {

private String nameTopic;
private List postList;

public List getPostList() {
return postList;
}

public void setPostList(List postList) {
this.postList = postList;
}

public HomeTopic(String nameTopic, List postList) {
this.nameTopic = nameTopic;
this.postList = postList;
}

public HomeTopic() {
}

@Override
public String toString() {
return "HomeTopic{" + "nameTopic=" + nameTopic + ", postList=" + postList + '}';
}

public String getNameTopic() {
return nameTopic;
}

public void setNameTopic(String nameTopic) {
this.nameTopic = nameTopic;
}
}
Когда я пишу основной метод для тестирования, он по-прежнему отображает UTF-8. Но всякий раз, когда я запускаю сервер и вызываю метод callHomeTopics() в браузере, текст выглядит так: "PH??NG ​​PHÁP GIÁO D?C TR?",
но на странице JSP все равно отобразить «Phương Pháp Giáo Dục Trẻ».
Все в порядке, кроме моего запроса HQL.

Подробнее здесь: https://stackoverflow.com/questions/156 ... n-struts-2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»