어떻게 정보를 tapestry5의 출력 스트림에 넣을 수 있습니까?어떻게 tapestry5의 출력 스트림에 정보를 넣을 수 있습니까?
사용자가 입력 할 때 페이지가 필요합니다. 저장하거나 출력 스트림 정보가있는 파일을 여는 대화 상자를 엽니 다.
공용 클래스 인덱스 {
@Inject
private RequestGlobals requestGlobals;
@OnEvent("activate")
public void onActivate() {
try {
HttpServletResponse response = requestGlobals.getHTTPServletResponse();
response.setContentType("text/txt");
PrintWriter out = response.getWriter();
out.println("hellooooooo");
out.flush();
} catch (IOException ex) {
Logger.getLogger(Index.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
나는 결과는 "helloooooooo"하지만 것을 희망("helloooooooo"+ 내 HTML 원시에게 :
나는 다음 코드를 작성 페이지)
이 솔루션은 파일을 클라이언트에 보내기 전에 서버 측에 파일을 쓰지 않으려면 가장 좋습니다. 그러나 Tapestry 예제의 해결책은 수정이 필요합니다 :'OutputStream'의 클로저는'finally' 블록에서 이루어져야합니다. 'IOUtils.closeQuietly (out);'(아파치에서)를 사용하여 try ... catch가 필요없이'OutputStream'을 닫을 수 있습니다. – vdubus
'finally'블록에서 수행됩니다. 사실, 그것은 두 번 수행됩니다 :'try' 블록과'finally' 블록 (단지 블록만으로 충분합니다). –