페이지를 UTF-8로 제공하는 Tapestry 응용 프로그램이 있습니다. 즉, 서버 응답은 헤더있다된다 완전히 UTF-8 인 응용 프로그램에서 단일 Tapestry 4 페이지에 대한 ISO-8859-1 인코딩 설정
Content-type: text/html;charset=UTF-8
이제 ISO-8859-1 인코딩으로 제공해야 한 페이지가이 애플리케이션 내. 즉, 서버 응답에는 다음 헤더가 있어야합니다.
Content-type: text/html;charset=ISO-8859-1
이 작업을 수행하는 방법은 무엇입니까? 전체 응용 프로그램의 기본 인코딩을 변경하고 싶지 않습니다.
구글에서 나는 다음과 같은 시도 검색을 기반으로 :
@Meta({ "org.apache.tapestry.output-encoding=ISO-8859-1",
"org.apache.tapestry.response-encoding=ISO-8859-1",
"org.apache.tapestry.template-encoding=ISO-8859-1",
"tapestry.response-encoding=ISO-8859-1"})
abstract class MyPage extends BasePage {
@Override
protected String getOutputEncoding() {
return "ISO-8859-1";
}
}
을하지만 어느 쪽도 @Meta 주석 또는 오버라이드 (override) getOutputEncoding 방법은 작동과 그 값을 설정.
저는 Tapestry 4.0.2를 사용하고 있습니다.
EDIT : 서브 클래 싱 된 HttpServletResposeWrapper를 사용하여 Servlet 필터로이 작업을 끝내게되었습니다. 랩퍼는 setContentType()을 대체하여 응답에 필요한 인코딩을 강제 실행합니다.
흠. * incoming * 요청에 대한 인코딩을 설정합니다. 나가는 응답에 대한 인코딩을 변경해야합니다. 내 Tapestry 응용 프로그램은 양식 제출을 처리하는 응용 프로그램이 아닙니다. 내 응용 프로그램은 양식 페이지 만 제공합니다. –
응답 인코딩은 2.4 사양으로 설정할 수 있습니다. J2EE 1.4 서버에 있습니까? http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String) –