У меня есть приложение весенней загрузки, я хочу сделать вызов со страницы поиска (jsp) в контроллер, получить ответ и обновить в jsp с помощью AJAX.Прямо сейчас при отправке вызова я ничего не получаю.(чтобы добавить, если я делаю api-вызов rest в контроллер, я получаю ответ от db, т. е. http://localhost:8080/problems/{problemId}). В основном мне нужно знать, как объединить ответ от ui до api. Пожалуйста, предложите, если какое-либо отображение или привязать переменные кбыть добавленным.
мой jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file = "header.jsp" %>
<div>
<div>
<h1>Lookup from Oracle database</h1>
</div>
<div>
<h2>${message}</h2>
<td>Search Category:</td>
<td>
<select name="searchcategories">
<option value="-1">-Select Category-</option>
<option value="problem">problem</option>
<option value="attachment">attachment</option>
<option value="tstt">tstt</option>
</select>
</td>
<td>Entity Id:</td>
<input type="text" name="problemId" id="search_data" class="form-control" placeholder="Search problem no..">
<button type="submit" id="submit_btn" onclick="">Search</button>
</div>
</div>
<%@ include file = "footer.jsp" %>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#submit_btn').click(function(){
var problemId = $('#search_data').val();
$.ajax({
type: "GET",
dataType : "json",
url : "http://localhost:8080/problems/" + problemId,
success : function(data) {
/* $("#response").html(data); */
var parsed_data = JSON.parse(data);
console.log(parsed_data.success);
}
});
return data;
});
});
$("form").submit(function(){
alert("Submitted");
});
</script>
</html>
мой класс контроллера (дает ответ, когда я вызываю напрямую через rest, т.е. http://localhost:8080/problems/{problemId}):
@RestController
@RequestMapping("/problems")
public class BugController {
@Autowired
BugRepository problemRepository;
@GetMapping("/{problemId}")
public Bug getProblemById(@PathVariable Long problemId) {
return problemRepository.findByProblemId(problemId);
}
}
Ожидается, что jsp сделаетвызовите контроллер, отправив искомый параметр и отправив ответ обратно на jsp введите описание изображения здесь