2010-08-04 58 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>