как передать значения множественного выбора из JSP в контроллер без использования какой-либо модели - PullRequest
1 голос
/ 08 марта 2019

Может ли кто-нибудь направить мне любую статью, которая четко объясняет, как пройти множественный выбор значений из JSP в контроллер без использования какой-либо модели.

Мое требование: на веб-странице есть только несколько списков выбора и кнопка отправки. Поле списка множественного выбора содержит OrderId и CustomerCode, разделенные "|"

Пример:

  • Заказ1 | customer1
  • order2 | Customer2
  • Order3 | Customer3
  • порядка 4 | Customer4
  • Order5 | Customer5

Пользователь может выбрать 1 или более и нажать кнопку отправки. Мне нужно запросить таблицу заказов, а затем создать отчет о яшме. Итак, я планирую перенести значения из JSP в контроллер (в форме List или OrderIds) Передайте это Сервису, а затем создайте JASPER, используя соответствующий jrxml.

Было бы здорово получить от вас несколько советов / советов.

1 Ответ

1 голос
/ 09 марта 2019

используют следующие технологии,

  • java-скрипт - получить выбранные значения из списка множественного выбора в jsp
  • ajax - передать выбранные значения в контроллер из jsp

дополнительно используйте среду Spring для создания веб-приложения на Java

список с множественным выбором в форме. Jsp

<select id='category' multiple='multiple'>
    <option value='Order1|Customer1'>Order1|Customer1</option>
    <option value='Order2|Customer2'>Order2|Customer2</option>
    <option value='Order3|Customer3'>Order3|Customer3</option>
    <option value='Order4|Customer4'>Order4|Customer4</option>
    <option value="Order5|Customer5">Order5|Customer5</option>
</select>

функция java-скрипта для сбора выбранных мульти-значений из jsp и передачи их в контроллер

function setData(){

    var selectedValues= [];
    $('#category:selected').each(function(i, selected) {
        selectedValues[i] = $(category).val();
    }); 

    $.ajax({
        type: 'POST',
        dataType: 'json',
        data {'selectedValues':selectedValues.toString()},
        url: '/Project_name/add'
    });
}

вызов вышеупомянутой функции js из события click кнопки отправки

<button onclick="setData()">Submit</button>

выше функции js вызовите метод insertData() в контроллере (MyController) и передайте ему выбранные значения

@Controller
public class MyController {

    @RequestMapping(value="/add", method=RequestMethod.POST)
    public void insertData(@RequestParam(value="selectedValues") ArrayList<String> selectedValues){
        //query order table and then generate a jasper report so on
    }

}
...