Я создаю этот раздел, просматривая страницу Jsp, и назначаю идентификаторы названий ресторанов для каждой кнопки. Что я хочу сделать, это получить идентификатор кнопки, когда я нажимаю кнопку отправки.

<section class="content-wrap" id="content">

   <ul>
     <img class="restaurant-logo" src="<%= rs.getString("image") %>"  alt="restaurant image" width="100" height="100" />
     <li> <form id="menuform" action="menu.jsp"><input type="submit" name="restaurantname" id="<%= rs.getString("name") %>" value="Go to Menu" class="main-button" style="float:right; margin-right:6px;"></form><h3><%= rs.getString("name") %> - <%= rs.getString("area") %>, <%= rs.getString("city") %></h3></li>
     <li style="font-style:italic; margin:-15px 0 5px 0;"> <%= rs.getString("cousines") %></li>
     <li style="color:#999; margin-bottom:2px;"> Delivery:</li>
     <li >Free</li>
   </ul>    
</section>

Смотрите menuform. У него есть кнопка, по которой я нажимаю, она переходит на страницу меню. И я хочу получить идентификатор (название ресторана) на своей странице меню, чтобы я мог отобразить меню.

<form id="menuform" action="menu.jsp"><input type="submit" name="restaurantname" id="<%= rs.getString("name") %>" value="Go to Menu" class="main-button" style="float:right; margin-right:6px;"></form>

Если я сделаю request.getParameter("restaurantname") на своей странице меню, это даст мне «Перейти в меню», что очевидно. Что я должен делать?

3
Muhammad Hassam 16 Дек 2015 в 20:05

4 ответа

Лучший ответ

Вместо ввода используйте кнопку со значением.

<button type="submit" name="restaurantname" value="<%= rs.getString("name") %>">
    Go to menu
</button>

id и class не отправляются на сервер. Вы можете использовать скрипт, чтобы получить идентификатор и добавить его в другой input. Но это не нужно в вашем случае. Значение button передается вместе с формой, что делает его более семантическим.

1
Ortiga 16 Дек 2015 в 17:09

Когда вы отправляете форму, вам нужен ввод со значением Пожалуйста, используйте его

<form id="menuform" action="menu.jsp"><input type="submit" name="restaurantname" value="<%= rs.getString("name") %>" placeholder="Go to Menu" class="main-button" style="float:right; margin-right:6px;"></form>
0
Nguyễn Hùng Hậu 8 Авг 2019 в 09:02

Я бы предложил вам использовать Jsoup, jsoup - это библиотека Java для работы с реальным HTML. Он предоставляет очень удобный API для извлечения и обработки данных, используя лучшие методы DOM, CSS и jquery-подобные.

Используйте синтаксис селектора, чтобы найти элементы в Java

0
Waqas Ahmed 16 Дек 2015 в 17:17

Вы можете проверить это руководство по получению параметров в JSTL: http : //exampledepot.8waytrips.com/egs/javax.servlet.jsp.jstl.core/getparam.html

Вы должны быть в состоянии использовать <c:out value="${param.restaurantname}" /> или просто ${param.restaurantname}, который будет возвращать значение «Перейти в ресторан».

Если вы хотите передать другое значение, рассмотрите возможность использования скрытого ввода, например: <input type="hidden" name="restaurantname" value="<%= rs.getString("name") %>" />

0
Adam Konieska 16 Дек 2015 в 17:17