[SPRING] Spring 프로젝트에서 Ajax를 사용하여 c : forEach를 어떻게 업데이트합니까?
SPRINGSpring 프로젝트에서 Ajax를 사용하여 c : forEach를 어떻게 업데이트합니까?
다음은 AJAX 코드로 드롭 다운에서 값을 선택하고 컨트롤러에서 List를 다시 얻습니다. 목록을 다시 가져올 때 AJAX 결과를 사용하여 c : forEach 항목을 업데이트하려고합니다.
AJAX
<script>
$(document).ready(function() {
$("#byCollege").change(function() {
// Get and convert the data for sending
// Example: This variable contains the selected option-text
var collName = $('#byCollege').val();
var studentName = '${salary}';
var json = {"name" : studentName, "collName" : collName};
// Send the data as an ajax POST request
$.ajax({
url: "http://localhost:8080/AnnaUnivResults/mvc/byCollege",
type: 'POST',
dataType: 'json',
data: JSON.stringify(json),
contentType: "application/json",
mimeType: 'application/json',
success: function(response) {
alert(JSON.stringify(response));
$("#studList").html(JSON.stringify(response));
},
error: function(data, status, er) {
alert("error: " + data + " status: " + status + " er:" + er);
}
});
});
});
$(document).ready(function() {
alert(document.getElementById('studentName').val());
});
var current = document.getElementById('studentName').value();
currnet.value = <c:out value="${salary}"/>
</script>
제어 장치
@ResponseBody @RequestMapping(value = "/byCollege", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public List<OneStudentResult> filterByColl(@RequestBody OneStudentResult oneStudentResult, ModelMap model){
ModelAndView modelAndView = new ModelAndView();
String deptName = null;
nameList = resultService.getStudentByColl(oneStudentResult.getName(), oneStudentResult.getCollName());
Iterator<OneStudentResult> itr = nameList.iterator();
Set<String> uniqueDeptList = new TreeSet<String>();
while(itr.hasNext()){
System.out.println(itr.next().getName());
}
uniqueDeptList.add(" Select a Department ");
model.addAttribute("uniqueDeptList", uniqueDeptList);
model.addAttribute("nameList", nameList);
modelAndView.addObject("nameList", nameList);
return nameList;
}
Set<String> uniqueDeptList = new TreeSet<String>();
while(itr.hasNext()){
deptName = itr.next().getDeptName();
if(!uniqueDeptList.contains(deptName)){
uniqueDeptList.add(deptName);
}
}
uniqueDeptList.add(" Select a Department ");
model.addAttribute("uniqueDeptList", uniqueDeptList);
model.addAttribute("nameList", nameList);
return "nameResult";
}
사실 AJAX 호출의 목적은 AJAX를 사용하여 jsp의 jstl을 업데이트하는 것입니다.
추신 : 이제는 내 오래된 테이블이 사라지는 것을 볼 수 있었고 다음과 같이이 나의 목록을 보았습니다.
[{"regNo":"1234","name":"ABCD","collName":" COLLEGE OF ENGINEERING","deptName":"B.E. Electronics and Communication Engineering","results":null,"subjCode":null,"subjName":null,"grade":null,"result":null}]
해결법
-
==============================
1.응답으로 붙여 넣기가 쉬우 며 두 가지 변경 사항이 필요하다고 생각합니다. 하나는 응답에서 @ResponseBody를 제거합니다.
응답으로 붙여 넣기가 쉬우 며 두 가지 변경 사항이 필요하다고 생각합니다. 하나는 응답에서 @ResponseBody를 제거합니다.
컨트롤러 메소드를 다음과 같이 변경하십시오.
public ModelAndView filterByColl(@RequestBody Mapping oneStudentResult, ModelMap model){ ModelAndView modelAndView = new ModelAndView("nameResult"); ... return modelAndView; }
응답이 더 이상 json이 아니기 때문에 적절한 유형을 아약스 요청에 설정하십시오. 데이터와 관련된 가능성이 높기 때문에 파싱 문제에 직면하게 될 것이라고 생각하지만 이는보기로 리디렉션하는 방법입니다.
-
==============================
2.내가 볼 수있는 한 가지 문제가 있습니다. 컨트롤러에서 보내지는 목록의 이름으로 uniqueDeptList를 사용하고 있습니다. var = "uniqueDeptList"에 같은 이름을 사용하고 있습니다. var = "uniqueDeptListCurrentItem"과 같은 다른 식별자
내가 볼 수있는 한 가지 문제가 있습니다. 컨트롤러에서 보내지는 목록의 이름으로 uniqueDeptList를 사용하고 있습니다. var = "uniqueDeptList"에 같은 이름을 사용하고 있습니다. var = "uniqueDeptListCurrentItem"과 같은 다른 식별자
<select id="byDept" name="byDept" > <c:forEach items="${uniqueDeptList}" var="uniqueDeptListCurrentItem"> <option value="${uniqueDeptListCurrentItem}"> ${uniqueDeptListCurrentItem}</option > </c:forEach > </select >
from https://stackoverflow.com/questions/26447194/how-do-i-update-a-cforeach-using-ajax-in-spring-project by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring JSON은 Spring 프레임 워크가 3.0.2에서 3.2.0으로 업그레이드 될 때 문제를 일으킨다. (0) | 2019.02.27 |
---|---|
[SPRING] flow.xml에서 로그 인쇄하기 (0) | 2019.02.27 |
[SPRING] 자식 스프링 객체와 그것의 슈퍼 java.util 객체 사이의 명시 적 유형 변환 (0) | 2019.02.27 |
[SPRING] 스프링 데이터 REST로 고급 검색을 수행하는 방법은 무엇입니까? (0) | 2019.02.27 |
[SPRING] Spring 웹 플로우에서 "죽은"세션 잡기 (0) | 2019.02.27 |