java
  • html
  • jsp
  • jsp-tags
  • 2009-05-14 5 views 0 likes 
    0

    일부 HTML을 생성하는 코드가 있습니다.하지만이 내용을 JSP로 출력하려고하면 '<'이 '<'으로, '>'으로 바뀝니다. 결과를 렌더링하는 부분은 다음과 같습니다.JSP로 HTML 출력에 문제가 있습니다

    <c:out value="${data}"/> 
    

    누군가가 문자 교체의 원인과 피할 수있는 방법을 설명해 주시겠습니까?

    추 신 : <c:out/> 태그의 escapeXml = 'false'속성을 시도했지만 아무 것도 표시되지 않았습니다.

    감사합니다, 나타샤

    답변

    1

    당신이 당신이이 마크 업 브라우저에서 사용하려는 또는 당신이 샘플 코드를 볼 수 예를 들어, 마지막 페이지에 표시하고자합니까, 생성 된 HTML 원하는 작업 사용자에게? escapeXml = 'false'가 없으면 HTML로 브라우저에 출력되고 다른 모든 마크 업과 함께 해석됩니다. escapeXml = 'true'로 설정하면 이스케이프 처리 된 태그로 변환되어 최종 사용자에게 표시됩니다. 그래서 모든 것은 당신이하려는 일에 달려 있습니다.

    < 및> 문자를 최종 사용자에게 표시하려면 & lt; 및 & gt; 마크 업에서.

    +0

    이 콘텐츠를 HTML로 브라우저에 출력해야합니다. 아마 jquery 대화 상자 창에서이 작업을 수행하고 있다고 언급 했어야합니다. 이것이 어떤 차이가 있는지 궁금합니다. –

    0

    거기 C에 escapeXml 속성입니다 : 밖으로 태그 기본적으로 true로 설정되어 false로 설정하고, 더 이스케이프가 발생하지 않습니다 브라우저에서와 같이, 즉 당신의 HTML이 출력됩니다 .

    1

    출력 태그가 그대로 동작합니다. 리터럴 값을 출력하려면 텍스트에 EL 표현 된 $ {data}을 직접 삽입 할 수 있습니다. 그것은 당신이 당신의 JSP에

    Some content ${data} some more content 
    

    을 사용

    Some content <c:out value="${data}"/> some more content 
    

    대신에,이다.

    c : out에 분노하기 전에 사용자가 의도하지 않은 코드가있는 경우가 종종 있음을 고려하십시오.

    0

    <c:out value="${data}"/> 대신 ${data}은 HTML 문자를 이스케이프 처리합니다. (C# 버전) 대신 $ {data}를 StackOverflow에서 사용한다고 상상해보십시오. this related question을보세요.

    관련 문제