2010-08-04 106 views
2

我是Struts2的新手,但一直在爲一個問題掙扎了2天。Struts2 param標籤與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>標記中嵌入一些JavaScript調用標記時,不會評估JavaScript調用。

我的問題是:有沒有綁定,只要其被評估到<s:param>標籤的javascript調用的方法嗎?

非常感謝

回答

2

不幸的是因爲該網頁提供給用戶(即,它具有填充鏈接它會向瀏覽器到JavaScript之前在此之前標籤呈現它不可能與<s:param>標籤接管)。

儘管你正在試圖做的事情可能與負載處理程序。下面是你如何能做到這一個jQuery例如:

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

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

如果你使用Struts來填充你想爲紐帶參數去使用將捕獲的變量在渲染之前的<div>另一種選擇該鏈接然後直接在<s:param>標籤中使用:

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