我是Struts2的新手,但现在已经困难了2天了。
基本上,我想在<s:param>
内设置一个<s:url>
标记,并在页面的其他位置设置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调用。
我的问题是:有没有办法在评估时将javascript调用绑定到<s:param>
标记?
非常感谢
答案 0 :(得分:2)
不幸的是,使用<s:param>
标记是不可能的,因为在将页面提供给用户之前呈现此标记(即,它必须在链接到达Javascript可以接管的浏览器之前填充链接)。
尽管如此,您可以尝试使用加载处理程序。下面是一个jQuery示例,说明如何完成它:
$(document).ready(function(){
var theDivContents = $('#div-id').text();
var newLinkHref= $('#link-id').attr('href') + "&divContents=" + theDivContents;
$('#link-id').attr('href', newLinkHref);
});
如果您使用Struts填充要用作链接参数的<div>
,则另一个选项是在呈现链接之前捕获变量,然后直接在{{1}中使用它标签:
<s:param>