как получить имя значения, выбранного на предыдущей странице, для отображения на связанной странице - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу видеть значение параметра, выбранного пользователем, в раскрывающемся списке на следующей странице.Я изо всех сил стараюсь, чтобы это произошло.Таким образом, у пользователя есть выпадающий список, в котором он может выбрать список стран, куда нужно перейти, и страна, на которую он щелкает, будет отображаться на другой странице. Как мне это сделать, может кто-нибудь подскажет мне

  <%@ page language="java" contentType="text/html;   charset=UTF-8"
     pageEncoding="UTF-8"%>
  <!DOCTYPE html>
  <html>
 <head>
  <meta charset="UTF-8">
 <form action ="some.jsp" class="form">
  <form:form method = "POST"  action=/Country/  model attribute = "model"> 



 </div>
 <a id="ToProductsBtn" href="/Country/" class="btn btn-default">lets go</a>


  </form:form>


 <title>choose a country</title>
</head>
<body>
<h1>choose your next destination</h1>
 <select> 
    <option value="" disabled="disabled" selected="selected">Please select a country</option>
     <option value="England">England</option>
    <option value="Scotland">Scotland</option>
  <option value ="ireland">Ireland</option>
   <option value="northern Ireland">Northern Ireland</option>
  <option value="spain">Spain</option>
  <input type="submit" href="/Country/">


  <a id="ToProductsBtn" href="/Country/" class="btn btn-default">lets go</a>

 </select>
 <!DOCTYPE html>
 <html>
 <head>


</body>
</html>


  </select>

</form>
 </body>
   </html>

изатем из страны, которую они выбирают, она должна отображаться на этой странице:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Welcome</title>
 </head>
 <h1></h1>

 <h2> ${name}</h2>
 <body>

 </body>
</html>

мой класс контроллера:

package travel.controller;

 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ModelAttribute;
  import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
  import org.springframework.web.servlet.view.RedirectView;

   import travel.domain.Order;


   @Controller

  public class Place {
      @RequestMapping(value="/addcountry")

   public String place(@RequestParam(value="name", required=false, defaultValue="PLACE") String name, Model model) {
    model.addAttribute("name", name);
     return "form/Place";}

  @RequestMapping (value="/Country")
  public String Country(@RequestParam(value="Mycountry",   required=false,   defaultValue="myCountry") String name, Model model) {
     model.addAttribute("name", name);
    return "form/Country";}
  }

1 Ответ

0 голосов
/ 27 февраля 2019

Сначала необходимо извлечь значение, выбранное из тега выбора, для этого вы можете присвоить ему идентификатор, а затем получить доступ к значению выбранного элемента.Например,

<select id="country-selection">
    <option>Please select a country</option>
    <option value="England">England</option>
    <option value="Scotland">Scotland</option>
    <option value ="ireland">Ireland</option>
    <option value="northern Ireland">Northern Ireland</option>
    <option value="spain">Spain</option>
</select>

Вам не нужно добавлять ссылку или вход в выборку.

Затем вам нужно передать выбранный аргумент вашему контроллеру,Вы можете создать кнопку или простую ссылку и добавить прослушиватель событий, который выполняет функцию, когда пользователь нажимает на нее:

<script>
    $(document).ready(function () {
        $('#redirect-country-bttn').on('click', function (e) {
            e.preventDefault();
            var country = $("#country-selection option:selected").val();
            var url = /country + "?country=" + country;
            if( country !== "Please select a country"){
                window.open(url,"_self")
            }
        });
    })
</script>

Наконец, на вашем контроллере вы можете получить доступ к параметру запроса, используя его имя:

@RequestParam(name="country", required=false, defaultValue="myCountry") String name

Еще лучше, если вы называете переменную в качестве параметра запроса, то spring mvc может вывести ее напрямую:

@RequestParam(required=false, defaultValue="myCountry") String country
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...