Установка значения строковых переменных Java в зависимости от установленного флажка html - PullRequest
2 голосов
/ 09 августа 2010

У меня есть два флажка с именами таблиц, когда установлен любой флажок. Я хочу сохранить это имя таблицы в строку Java, которую я могу использовать в запросе, чтобы получить данные из этой таблицы или обновить эту таблицу. Я использовал функции onClick и также получил значение флажка, но не получил, как получить к нему доступ в остальной части кода, чтобы я мог использовать это значение в запросе БД.

Ответы [ 2 ]

1 голос
/ 09 августа 2010

Я предполагаю, что у вас есть 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 голосов
/ 09 августа 2010

Просто укажите имя таблицы в качестве значения. Браузер будет отправлять только пары имя-значение из отмеченных в качестве параметров запроса.

<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">

В сервлете вы можете получить их по HttpServletRequest#getParameterValues().

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

Просто так :) Нет необходимости в ненужных хакерских / обходных решениях JavaScript, которые не будут работать в JS-отключенных клиентах. Это одна из многих неизвестных функций HTML .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...