java - 带有javascript的Struts2参数标签

标签 java javascript struts2

我是 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 调用绑定(bind)到 <s:param>每当评估时标记?

非常感谢

最佳答案

不幸的是,<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> 的另一种选择你想用作链接参数是在呈现链接之前将其捕获在变量中,然后直接在 <s:param> 中使用它标签:

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

关于java - 带有javascript的Struts2参数标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3406175/

相关文章:

javascript - 使用 .reduce() 将两个值相乘(包括之间的值)的方法

javascript - 在 Visual Studio Code IDE 中编译 .ts 文件时无法读取未定义错误的属性 'args'

jakarta-ee - struts2 junit 2.3.12 插件 - 无法在 struts2 junit4 中编写成功测试

Struts2 如何通过迭代列表来创建表格,使得每一行都有一个单选按钮?

java - 短条件,java

java - Java 中的隐式继承

java - 如何将 Spring 数据源集成到 Quartz 中?

javascript - ng 类访问元素文本

java - 在 java 中保存和检索数据的快速、安全的方法

java - 我们可以在同一个应用服务器上部署两个 struts2 应用程序吗?