2012-06-29 1 views
0

내가 시도

<display:table name="jobTrackerCol" pagesize="20" sort="list" id="data" requestURI="" class="tablelist"> 
      <display:column title="Request Id" sortable="true" ><%-- property="request_id" > --%> 
      <a href=# onClick="popupSmallWindow('${data.query}');">${data.request_id}</a> 
      </display:column> 
</display:table> 

자바 스크립트

function popupSmallWindow(query){ 
    //window.location="http://www.continue.com";  
    myString = query.replace(/[\r\n]/g, "<br />");  

    alert(myString); 
} 

값은 긴 SQL 쿼리입니다. 쿼리를 자바 스크립트 - 탈출에

내가 모든이

답변

1

첫째 날 안내 내가 link.Please 클릭 경고 또는 새 창에서 해당 쿼리를 표시하려면, 다음이 필요합니다. 사실, 당신이 쿼리 경우가

select a.id from a where a.name = 'doe' 

는 결과 HTML 코드가 될 것입니다 :

onClick="popupSmallWindow('select a.id from a where a.name = 'doe'');" 

그리고이 분명히 있기 때문에 인해 이스케이프 작은 따옴표에 문제가 발생할 것이라고 JS 코드가 유효하지 않을 것이다 .

아파치 commons-lang StringEscapeUtils.escapeECMAScript()을 사용하면됩니다.

이제 경고 상자에 HTML이 표시되지 않습니다. 경고 상자에 표시하려면 \r\n<br/>으로 변환하면 안됩니다. 그대로두면 알림 상자에 쿼리가 잘 표시됩니다.

HTML 지원이 필요하면 jQuery UI의 dialog box을 사용하여 SQL 쿼리를 표시 할 수 있습니다. 그렇다면 \r\n<br/>으로 대체해야합니다. 하지만 자바에서 그렇게 할 수 있고 jquery UI 대화 상자가 대화 상자의 내용으로 사용할 숨겨진 div에 쿼리를 배치 할 수 있습니다.