2010-08-04 2 views
2

Struts2를 처음 사용했지만 2 일 동안 문제가 발생했습니다.Struts2 param tag with javascript

기본적으로 <s:url> 내에 <s:param> 태그를 설정하고 div 태그의 내용을 페이지의 다른 곳에 설정하려고합니다.

<div id="div1">My value</div> 
    <s:url action="myAction" var="url"> 
    <s:param name="param1">...content of div1...</s:param> 
</s:url> 

내가 <s:param> 태그 내에서 일부 자바 스크립트 호출을 포함하려고

는 자바 스크립트 호출은 평가되지 않습니다.

제 질문은 : 평가할 때마다 <s:param> 태그로 자바 스크립트 호출을 바인딩하는 방법이 있습니까?

감사 페이지 (즉, 그것이 어디에서 자바 스크립트가 할 수있는 브라우저로 만드는 전에 링크를 채울 수있는 사용자에게 제공하기 전에이 태그가 렌더링되기 때문에

답변

2

불행하게도 그것은 <s:param> 태그 수는 없습니다 많은 인계).

당신이하려는 것은로드 핸들러로 가능할 것입니다. 다음은 당신이 그것을 달성 할 수있는 방법의 jQuery를 예는 다음과 같습니다

$(document).ready(function(){ 
    var theDivContents = $('#div-id').text(); 
    var newLinkHref= $('#link-id').attr('href') + "&divContents=" + theDivContents; 

    $('#link-id').attr('href', newLinkHref); 
}); 

당신은 당신이 렌더링하기 전에 변수에 그를 캡처하는 것입니다 링크 PARAM로 사용할 <div>을 채우기 위해 스트럿츠를 사용하는 경우 또 다른 방법 링크를 클릭 한 다음 <s:param> 태그에 직접 사용하십시오.

<div id="div1">${yourValue}</div> 
<s:url action="myAction" var="url"> 
    <s:param name="param1">${yourValue}</s:param> 
</s:url>