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

时间:2010-08-09 06:07:23

标签: javascript html ajax jsp

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

2 个答案:

答案 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之一。