이것은 매우 기본적인 것이어야하지만 웹에서이 항목을 찾을 수는 없습니다. 함께 맞출 수없는 것처럼 보입니다.드롭 다운 상자 - freemarker를 사용하여 스프링 MVC 모델/컨텍스트에서 양식
우리는 freemarker와 함께 Spring MVC를 사용하고 있습니다. 이제는 내 페이지에 양식을 추가하여 미리 정의 된 목록에서 값을 선택할 수있게하고 싶습니다. 백엔드에서 데이터베이스 액세스가 필요합니다.
내 컨트롤러 :
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView get(@PathVariable Integer id) {
// stuff..
ModelAndView mav = new ModelAndView();
mav.addObject("targetObject", new TargetObject());
mav.addObject("options", Arrays.asList("a", "b", "c"));
mav.setViewName("someview");
return mav;
}
나는 freemarkers 스프링 지원 spring.ftl
을 발견하고 내가 같은 시도했습니다 <@spring.formSingleSelect>
사용해야 보인다
someView.ftl :
을<#import "../spring.ftl" as spring />
<form action="somePath" method="POST">
<@spring.formSingleSelect "targetObject.type", "options", " " />
<input type="submit" value="submit"/>
</form>
그래서 targetObject.type이 바인딩되었습니다. 매크로에 의해 자동으로 보인다.
그러나 매크로가 옵션을 만들 수 있도록 freemarker 구역으로 내 옵션을 가져 오는 방법은 무엇입니까?
는 지금은 얻을 :
Expected collection or sequence. options evaluated instead to freemarker.template.SimpleScalar on line 227, column 20 in spring.ftl.
The problematic instruction:
----------
==> list options as value [on line 227, column 13 in spring.ftl]
in user-directive spring.formSingleSelect [on line 53, column 9 in productBase/show.ftl]
----------
가 나는 또한 시도 : 어떤 도움
freemarker.core.NonStringException: Error on line 48, column 18 in someView.ftl
Expecting a string, date or number here, Expression options is instead a freemarker.template.SimpleSequence
감사의 :
<@spring.bind "${options}" />
더 그 라인을 따라하지만 성공 일을! 나는 콩이 옵션은 필요
분명히
두 번째 내 선택을 누르고 있어야합니다
첫째 :
"옵션"대신 옵션을 사용하십시오. –