2010-08-09 64 views
2

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

回答

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代码来选择表名称的原因。

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黑客/变通办法,这是不会在JS禁用的客户端工作。这是许多unknown features of HTML之一。