根据选中的 html 复选框设置 java 字符串变量值

Posted

技术标签:

【中文标题】根据选中的 html 复选框设置 java 字符串变量值【英文标题】:Setting java string variables value depending on html checkbox selected 【发布时间】:2011-03-27 03:29:36 【问题描述】:

当检查任何复选框时,我有两个复选框,当检查任何复选框时,我想要将该表名保存到我可以在查询中使用的Java字符串,以获取来自该表的数据或更新该表。 我使用了 onClick 函数,也得到了复选框的值,但没有得到如何在其余代码中访问它,以便我可以在数据库查询中使用该值。

【问题讨论】:

【参考方案1】:

我假设你的 html 代码如下:

<input type="checkbox" name="use_table1" />
<input type="checkbox" name="use_table2" />

在服务器端的 Java 代码上,然后可以查询:

String tableName = null;
if (request.getParameter("use_table1") != null)
  tableName = "tbl_1";
if (request.getParameter("use_table2") != null)
  tableName = "tbl_2";

请注意,“外部”名称与实际表名不同。网上没有人需要知道您的真实表名。而且,最重要的是,不应允许任何人从您的数据库中读取任意表。这就是我使用 if-then-else 代码来选择表名的原因。

【讨论】:

【参考方案2】:

只需将表名作为值。浏览器将只发送选中的名称-值对作为请求参数。

<input type="checkbox" name="tablename" value="table1">
<input type="checkbox" name="tablename" value="table2">
<input type="checkbox" name="tablename" value="table3">
<input type="checkbox" name="tablename" value="table4">

在 Servlet 中,您可以通过HttpServletRequest#getParameterValues() 获取它们。

String[] checked = request.getParameterValues("tablename");

就这么简单 :) 不需要在禁用 JS 的客户端中无法使用的不必要的 javascript hacks/workarounds。这是众多unknown features of HTML 之一。

【讨论】:

以上是关于根据选中的 html 复选框设置 java 字符串变量值的主要内容,如果未能解决你的问题,请参考以下文章

javaWeb复选框的修改

如何用JS控制复选框选中,element.checked

如何使用角度js根据数据库中的值设置复选框的选中属性

如何获取单击的选中按钮的视图位置以及如何根据其位置将其设置为选中状态

zTreezTree根据后台数据生成树并动态设置前面的节点复选框的选中状态

jquery 根据后台传过来的值动态设置下拉框单选框选中