[SPRING] 봄부터 컨트롤러에서 프런트 엔드로 데이터를 전달하는 방법
SPRING봄부터 컨트롤러에서 프런트 엔드로 데이터를 전달하는 방법
나는 봄에 새로운 응용 프로그램을 만듭니다. 3.0 나는 annotation spring을 사용하고있다.
내 컨트롤러 메서드에서 JSP로 목록에 반환하고 싶습니다. 이 목록은 선택 상자에 표시됩니다. 다음은 컨트롤러 및 JSP 부분의 코드입니다. 이 점을 이해하도록 도와주세요.
public String showUserForm(ModelMap model)
{
User user = new User();
model.addAttribute(user);
List<String> lookingfor=service.getOptions();
//want to send this "lookingfor" to the jsp
return "welcome";
}
및 JSP
<td>
<form:select path="lookingfor">
<form:option value="0" label="Select" />
<form:options items="${lookingfor}" itemValue="lookingfor" itemLabel="lookingfor" /> </form:select>
</td>
모델에서 사용자를 추가하는 동안 잘 작동하지만 lookfor 속성을 추가 할 때. model.addAttribute ( "lookingfor", lookingfor);
해결법
-
==============================
1.ModelMap 객체에 lookingFor 목록을 속성으로 추가해야합니다.
ModelMap 객체에 lookingFor 목록을 속성으로 추가해야합니다.
model.addAttribute("lookingfor", lookingfor);
또한 itemValue 및 itemLabel은 모두 lookingFor 목록의 속성을 참조하기 때문에 "itemValue"및 "itemLabel"속성의 사용법을 확인하십시오. 당신은 두 가지 모두에서 같은 가치를 사용하고 있습니다.
-
==============================
2.이런 식으로도 사용할 수 있습니다.
이런 식으로도 사용할 수 있습니다.
@RequestMapping("get_vendor_tests.htm") public ModelAndView getVendorTests(@RequestParam int vendorId,Map<String, Object> map){ try { map.put("vendor", vendorService.getVendor(vendorId)); return new ModelAndView("vendor_tests","message",map); } catch (Exception e) { // TODO Auto-generated catch block //e.printStackTrace(); logger.error("In vendor tests for vendor Id:"+vendorId+"",e); return new ModelAndView("error","message", e); } }
-
==============================
3.모델을 사용하여 목록을 다시 전달하십시오.
모델을 사용하여 목록을 다시 전달하십시오.
public String showUserForm(ModelMap model) { User user = new User(); model.addAttribute(user); //want to send this "lookingfor" to the jsp List<String> lookingfor=service.getOptions(); model.addAttribute("lookingFor", lookingFor); return "welcome"; }
귀하의 JSP 디스플레이에서 다음과 같은 옵션을 :
<form:select path="lookingFor"> <form:option value="-" label="--Please Select"/> <form:options items="${lookingFor"}"/> </form:select>
-
==============================
4.ModelAndView를 반환 할 수도 있습니다.
ModelAndView를 반환 할 수도 있습니다.
e.
public ModelAndView showUserForm() { mv= new ModelAndView("welcome"); User user = new User(); mv.getModel.put("user",user); List<String> lookingfor=service.getOptions(); //want to send this "lookingfor" to the jsp mv.getModel().put("lookingfor",lookingfor); return mv; }
편집 : 아래 코멘트에 대한 응답으로 itemValue보세요 이것은 당신의 lookingfor 객체의 속성 중 하나 여야합니다.이 국가 목록 예제를보십시오.
<form:options items="${countryList}" itemValue="code" itemLabel="name"/>
여기서 list는 국가 객체 목록이고 code와 name은 해당 국가 객체의 속성입니다.
놀이
그래서 jsp에서 할 수 있습니다.
<c:forEach var="item" items="${lookingfor}"> <form:option value="${item}"/> </c:forEach>
from https://stackoverflow.com/questions/10015804/how-to-pass-data-from-controller-to-front-end-in-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안 표현식에서 정적 메소드 호출? (0) | 2019.04.15 |
---|---|
[SPRING] Spring - 별칭과 이름의 사용 (0) | 2019.04.15 |
[SPRING] 스프링 프로파일로 util : properties를로드하면 ID가 여러 번 발생합니다 (0) | 2019.04.15 |
[SPRING] 동시 세션이있는 grails 3 (0) | 2019.04.15 |
[SPRING] 최대 절전 모드 컨텍스트 세션을 사용하여 일반 DAO 클래스를 만드는 방법 (0) | 2019.04.15 |