У меня есть эта форма в файле jsp, где я динамически заполняю раскрывающийся список из списка.Работает нормально.Это домашний jsp по адресу ядра "/", и он отправляет данные в "/spravochnik/list".
<form action="/spravochnik/list" method="post">
<select name="tableName">
<c:forEach var="dropDown" items="${dropDown}">
<c:forEach var="valuesInRows" items="${dropDown.valuesInRows}">
<c:forEach var="valuesInRow" items="${valuesInRows}" varStatus="loop">
<c:if test="${loop.index %2 != 0}">
<option><c:out value="${valuesInRow}"></c:out></option>
</c:if>
</c:forEach>
</c:forEach>
</c:forEach>
</select>
<input type="submit" value="submit" />
</form>
Теперь у меня есть контроллер
@RequestMapping(value = "/spravochnik/list", method = { RequestMethod.POST, RequestMethod.GET })
public String getSpravochniks(Model m, @RequestParam("tableName") String tableName) {
Integer idPrepend = spravochnikService.getIdAtSpravName(tableName);
List<Spravochnik> spravList = spravochnikService.findAll(tableName);
m.addAttribute("spravList", spravList);
m.addAttribute("tableName", tableName);
m.addAttribute("idPrepend", idPrepend);
return "home";
}
Он также работает нормальнои результирующая таблица (что я получил от findAll) показана с адресом / справочником / списком. Вопрос: Как я могу показать его с адресом в зависимости от того, какую переменную "tableName" я отправил из home.jsp?Например, если в раскрывающемся списке я выбираю «сотрудники» и передаю его в форме под именем «tableName», я хочу, чтобы результат отображался в / spravochnik / list / employee, и если я выбираю «транспортные средства», это должно быть »/ spravochnik / list / Vehicles "?
Что я пробовал -Добавить переменную в действие и в контроллер @RequestMapping (value =" / list / {tableName} "и tableName как @PathVariable.Фактический результат: не найден. - То же самое с @RequestParam вместо переменной пути. Фактический результат: не найден.