Это простой фильтр, который сделает это.Вам просто нужно добавить этот фильтр в ваш web.xml перед фильтром struts2.
public class CharacterEncodingFilter implements Filter
{
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain next)
throws IOException, ServletException
{
String encoding = request.getCharacterEncoding();
if (encoding == null || encoding.length() == 0)
{
request.setCharacterEncoding("UTF-8");
}
next.doFilter(request, response);
}
}
не уверен, хотя он будет работать, так как сам не пробовал:)
Обновление
даже после вышеупомянутого фильтра я также столкнулся с той же проблемой, и после некоторого копания, как я понимаю, из-за того, что сервер приложений по умолчанию будет использовать кодировку символов ISO 8859-1.
я добавил следующую запись в мой файл tomcat server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
URIEncoding="UTF-8" // this is what i added
и теперь я могу видеть правильный символ в моей странице jsp. То же самое мы имеем по умолчанию в javaкодировка.
прочитайте эту замечательную статью Unicode-How-To-Get-символы-право от BalusC.
надеюсь, это поможет вам.