У меня есть раскрывающаяся кнопка с вариантами экспорта в CSV и экспорта в Excel. Когда я нажимаю на каждую из опций, я хочу запустить соответствующий метод контроллера для загрузки файла.
Мой html-код выглядит следующим образом:
<div class = "row col-xs-2" style = "position:relative;top:10px;">
<button type = "button" class = "btn btn-primary normal-btn dropdown-toggle" data-toggle = "dropdown">
Export <span class = "caret"></span>
</button>
<ul class = "dropdown-menu" role = "menu">
<form action = "#" data-th-action = "@{/coaExport}" method = "POST">
<li><a type = "submit" name = "action" value = "csv" id = "coaExport_CS1V" class = "dropdown-item" href = "#">Export to .CSV</a></li>
<li><a type = "submit" name = "action" value = "excel" id = "coaExport_exc1el" class = "dropdown-item" href = "#">Export to Excel</a></li>
</form>
</ul>
</div>'
Данные моего контроллера:
@GetMapping(value = "/coaExport", params = "action=csv")
public void exportCOACSV(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println("Export CSV");
}
@GetMapping(value = "/coaExport", params = "action=excel")
public void exportCOAExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println("Export Excel.");
}
Ой! и ваши предметы должны быть button или input.
Почему вы просто не можете выполнить простой <a href = /coaExport?action=csv> экспорт в .CSV




Вышеупомянутое решение
<a href = /coaExport?action=csv> Export to .CSV
работает. Спасибо за помощь
У вас есть
GetMapping, но вы делаете пост.