2010-02-22 2 views
2

약간의 문제가 있습니다. 파일의 응답 내용을 작성하여 Ajax 응답으로 클라이언트에 반환합니다.
그러나 >에서 > 등의 HTML 대체가 발생합니다 ...
이 대체를 끄려면 어떻게해야합니까?Java 응답 내용이 < or > 대신에 반환됩니다. < >

res.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); 
res.setHeader("Pragma", "public"); 
res.setContentType("text/html"); 

TIA

업데이트

// import com.ibm.useful.http.PostData; 
     PostData pd = new PostData(req); 
     final FileData data; 

    try { 
     data = pd.getFileData("sqlFile"); 

    ByteArrayOutputStream buf = new ByteArrayOutputStream(); 
    for (byte b : data.getByteData()) { 
     buf.write(b); 
    } 
    res.getWriter().print(buf.toString()); 
} 

난 디버거 통해 buf.toString() 보았다. 괜찮아. 대체가 더 진행됩니다. HTML 문자 (

<>은, 다른 사람의 사이에 "

)이 탈출하고있다. 가 허위 또는 유사한로 탈출을 설정하려고 할 때하지만 이것은 보통 일이 어디 ...

+0

파일 내용을 응답에 쓰는 데 사용하는 코드는 어디에 있습니까? –

+0

어떻게 답장을 쓰고 있습니까? 몇 가지 예제 코드를 제공 할 수 있습니까? –

답변

2

HTML 특수 문자는 HTML entities으로 이스 케이 핑되었습니다. 당신이 응답과 오른쪽 응답 데이터가 클라이언트에 도착하기 전에 쓴 직후에 이런 일이 있음을 확인을 경우

후 아마도 어떤 이유로 HTML 엔티티를 탈출 체인의 필터가 있습니다. 신고 된 필터를 web.xml에서 확인하고 필요한 경우 url-pattern을 조정하십시오.

0

. "com.ibm.useful.http.PostData"에 대한 API 문서를 찾을 수 없습니다

+0

그런데도 문제가 발생했습니다 :-) –

0

는 니펫을 아래에 사용해보십시오 :

res.setContentType("text/html; charset=UTF-8"); 

사용하는 경우 데이터베이스가 UTF-8 인코딩으로 설정되어 있는지도 확인하십시오.

문제가 해결되지 않으면 article을 읽어보십시오.

+0

이 문제는 문자 인코딩과 아무런 관련이 없습니다. – BalusC

+0

시도했습니다. 나를 위해 일하지 않습니다. –

+0

내가 답변에 추가 한 기사도 참조하십시오. –

관련 문제