2010-08-09 37 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之一。