当选中任何复选框时,我有两个带有表名的复选框我想将该表名保存到java字符串中,我可以在查询中使用该字符串从该表中获取数据或更新该表。 我已经使用了onClick函数,并且还获得了复选框值,但没有获得如何在其余代码中访问它,以便我可以在数据库查询中使用该值。
答案 0 :(得分: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代码来选择表名。
答案 1 :(得分:0)
只需将表名作为值。浏览器将仅发送已检查的名称 - 值对作为请求参数。
<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");
简单:)不需要不必要的JavaScript hacks / workarounds,这在JS禁用的客户端中无效。这是众多unknown features of HTML之一。