【问题标题】:Struts- About saving checkboxes when following a linkStruts - 关于在点击链接时保存复选框
【发布时间】:2018-02-05 22:35:17
【问题描述】:

我正在开发一个包含一些复选框的 jsp。我的 jsp 链接到一个表单(称为 SuiviTransfertForm),并且这个表单有一个名为 checkboxUID 的属性,它是一个包含我选中的复选框 id 的数组。

private String[] checkboxUID = {};

这个属性映射到我的jsp的复选框,如下所示:

<html-el:multibox name="suiviTransfertForm" property="checkboxUID"/>

当我在下一页时,我想点击此 jsp 上的链接并获取 checkboxUID 的内容。

在下一页上,我将这样取回我的表单:

SuiviTransfertForm suiviTransfertForm = (SuiviTransfertForm) form;

问题是,如果我留在同一页面上,checkboxUID 会正确填充,但在我更改页面时总是为空。我找不到实现这一目标的方法。

非常感谢您的帮助!

【问题讨论】:

  • 方法是去掉multibox标签,换成this之类的东西。
  • 您好 Roman,感谢您的回答。你能看看我下面的回复吗?
  • 我看到你的答案在 SO 上无效。如果您没有解决问题,您不应该回答。你用什么版本的struts?上面的链接使用的是Struts2标签,但html-el:multibox是Struts1标签,不能在Struts2中使用。空复选框是由空列表产生的。在 JSP 中显示之前,您应该填写该列表。

标签: javascript java jsp checkbox struts


【解决方案1】:

当您单击链接时,它不会提交表单。因此,您无法从 form 获取任何值。尝试通过 URL 发送(脚本方式 - 虽然这不是最佳做法)

var arrayValues = [12,34,54,67];  //Get the selected checkbox values when clicking link
var QueryString = JSON.stringify(arrayValues);
var a = document.getElementById('yourlinkId'); 
a.href = 'myLink?params='+QueryString;

或者你可以使用 jQuery 来编写简单的代码,

$('#yourlinkId').attr({"href" : '/myLink?params=' + arrayValues.join(',')});

如果有帮助,请尝试告诉我。

【讨论】:

  • 嗨 Vinoth,QueryString 是 var 吗?
  • 是的,只是将字符串化数组存储在一个变量中。
【解决方案2】:

我最终通过列出我选中的复选框并在单击我的链接后将它们设置为表单来解决问题。

非常感谢你们的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多