GET 매개 변수에 대한 SpringMVC 요청 매핑
URL의 GET 매개 변수를 처리하기 위해 RequestMapping을 만드는 방법은 무엇입니까?예를 들어 나는 이 URL을 가지고 있습니다.
http://localhost:8080/userGrid?_search=false&nd=1351972571018&rows=10&page=1&sidx=id&sord=desc
(jqGrid에서)
내 RequestMapping은 어떻게 보여야 합니까?HttpRequest를 사용하여 매개 변수를 가져오려고 합니다.
사용해 본 방법:
@RequestMapping("/userGrid")
public @ResponseBody GridModel getUsersForGrid(HttpServletRequest request)
하지만 효과가 없습니다.
Spring에서 바인딩할 수 있도록 메서드 인수에 @RequestParam을 사용하고, Spring에서 사용할 메서드를 좁히기 위해 the @RequestMapping.pa 키워드 배열을 사용합니다.샘플 코드:
@RequestMapping("/userGrid",
params = {"_search", "nd", "rows", "page", "sidx", "sort"})
public @ResponseBody GridModel getUsersForGrid(
@RequestParam(value = "_search") String search,
@RequestParam(value = "nd") int nd,
@RequestParam(value = "rows") int rows,
@RequestParam(value = "page") int page,
@RequestParam(value = "sidx") int sidx,
@RequestParam(value = "sort") Sort sort) {
// Stuff here
}
이러한 방식으로 Spring은 모든 매개 변수가 존재하는 경우에만 이 메서드를 실행하여 null 확인 및 관련 항목을 저장합니다.
추가할 수 있습니다.@RequestMapping
이와 같이:
@RequestMapping("/userGrid")
public @ResponseBody GridModel getUsersForGrid(
@RequestParam("_search") String search,
@RequestParam String nd,
@RequestParam int rows,
@RequestParam int page,
@RequestParam String sidx)
@RequestParam String sord) {
요청에서 모든 매개 변수를 가져옵니다.디버깅 전용:
@RequestMapping (value = "/promote", method = {RequestMethod.POST, RequestMethod.GET})
public ModelAndView renderPromotePage (HttpServletRequest request) {
Map<String, String[]> parameters = request.getParameterMap();
for(String key : parameters.keySet()) {
System.out.println(key);
String[] vals = parameters.get(key);
for(String val : vals)
System.out.println(" -> " + val);
}
ModelAndView mv = new ModelAndView();
mv.setViewName("test");
return mv;
}
URI를 변경할 의향이 있다면 다음을 사용할 수도 있습니다.PathVariable
.
@RequestMapping(value="/mapping/foo/{foo}/{bar}", method=RequestMethod.GET)
public String process(@PathVariable String foo,@PathVariable String bar) {
//Perform logic with foo and bar
}
NB: 첫 번째 푸는 경로의 일부이고, 두 번째 푸는 경로의 일부입니다.PathVariable
이는 제 경우에 효과가 있습니다.
@RequestMapping(value = "/savedata",
params = {"textArea", "localKey", "localFile"})
@ResponseBody
public void saveData(@RequestParam(value = "textArea") String textArea,
@RequestParam(value = "localKey") String localKey,
@RequestParam(value = "localFile") String localFile) {
}
당신은 일종의 템플릿을 에 써야 합니다.@RequestMapping
:
http://localhost:8080/userGrid?_search=${search}&nd=${nd}&rows=${rows}&page=${page}&sidx=${sidx}&sord=${sord}
이제 다음과 같은 비즈니스 방법을 정의합니다.
@RequestMapping("/userGrid?_search=${search}&nd=${nd}&rows=${rows}&page=${page}&sidx=${sidx}&sord=${sord}")
public @ResponseBody GridModel getUsersForGrid(
@RequestParam(value = "search") String search,
@RequestParam(value = "nd") int nd,
@RequestParam(value = "rows") int rows,
@RequestParam(value = "page") int page,
@RequestParam(value = "sidx") int sidx,
@RequestParam(value = "sort") Sort sort) {
...............
}
따라서 프레임워크가 매핑됩니다.${foo}
적절한@RequestParam
.
정렬은 asc 또는 descript일 수 있으므로 열거형으로 정의합니다.
public enum Sort {
asc, desc
}
봄은 열거를 매우 잘 처리합니다.
언급URL : https://stackoverflow.com/questions/13213061/springmvc-requestmapping-for-get-parameters
'programing' 카테고리의 다른 글
특정 파일/파일 이름을 찾기 위한 파워셸 스크립트? (0) | 2023.09.09 |
---|---|
페이지 로드에 대한 페이드인 효과를 위해 CSS 사용 (0) | 2023.09.09 |
C#에서 powershell cmdlet 호출 중 (0) | 2023.09.04 |
MariaDB 10.4.21에서 세션 없이 읽기 전용으로 테이블을 잠그려면 어떻게 해야 합니까? (0) | 2023.09.04 |
Swift에서 이미지 크기를 조정하는 방법? (0) | 2023.09.04 |