Я хочу сделать следующее. Пользователь вводит некоторую информацию в первое поле, нажимает кнопку «Отправить» и получает то, что он пишет, с некоторыми преобразованиями во втором поле. Без перезагрузки страницы. Что я наделалЭто не работает. Я не получаю никакого значения во втором поле. Что я делаю не так?
Мой класс контроллеров:
@Controller
public class AjaxTest {
@GetMapping("/ajaxtest")
public String ajaxPage(Model model, @ModelAttribute("searchString") String searchString){
model.addAttribute("searchString",searchString);
return "test/ajax";
}
@PostMapping("/ajaxprocessform")
public String processAjaxPage(Model model, @ModelAttribute("searchString") String searchString){
searchString=searchString+"asdhiu";
model.addAttribute("searchStr", searchString);
return "test/ajax";
}
Мой jsp-файл:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="springForm" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
<title>AjaxTest</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'searchForm' and provide a simple callback function
$('#searchForm').ajaxForm(function() {
alert("Thank you for using Ajax!");
});
});
</script>
</head>
<body>
<form id="searchForm" action="../ajaxprocessform" method="post" >
<center>
Введите критерий поиска:
<br/>
<input type="text" name="searchString" /><!-- name = field -->
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="submit" value="Поиск" />
<br/>
<input type = "text" value="${searchStr}">
</center>
</form>
</body>
</html>