У меня есть поле ввода текстового поля на моей index.jsp
внутри страницы тега формы. Когда я вставляю символ †
в свое текстовое поле, то после нажатия кнопки «Отправить» он принимает меня к соответствующему servlet
. Из сервлета я получаю значение текстового поля, используя request.getParameter()
. А затем покажите это значение как ответ от сервлета на странице. Но в ответ сервлета он показывает мне ненужное значение: â€
, тогда как я хотел получить тот же символ (†
).как обрабатывать специальные символы в java jsp
файлы:
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<html>
<body>
<form action="hello.do" method="post">
<input type="text" name="t1"/><br>
<input type="submit"/>
</form>
</body>
</html>
сервлет:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String s=request.getParameter("t1");
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println(s);
System.out.println("inside servlet: "+s);
}
Try - 'response.setContentType (" text/html; charset = UTF-8 ");' – hagrawal
@JSK: Не могли бы вы протестировать ответ, предложенный Balus, и, пожалуйста, сообщите нам результаты. – hagrawal