Вы можете определить новый фильтр в вашем web.xml и измените свои ответы там.
Например, вы могли бы поставить это в web.xml:
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.example.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*.jsp</url-pattern>
<!-- or any pattern you like to excluse non-jsp resources -->
</filter-mapping>
И создать com.example.EncodingFilter
класс вроде этого:
public class EncodingFilter implements javax.servlet.Filter {
// init, destroy, etc. implementation
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response); // pass request to next filter
}
}
Вы можете, кроме того, добавить тесты вокруг setCharacterEncoding()
вызова для фильтрации только определенный URI или исключить, например, не-HTML jsp или конкретный параметр, например JSP, выводящий PDF-код, если указан параметр URL format=PDF
:
if (!request.getQueryString().contains("format=PDF") {
response.setCharacterEncoding("utf-8");
}
chain.doFilter(request, response); // pass request to next filter
ваша проблема со значениями из вашей серверной? статический html-контент в вашем JSP? параметры? – Preuk