2017-12-15 22 views
0

다중 선택 상자가 필요한 양식을 작성 중입니다. 내가 사용하고 this link< @ spring.formMultiSelect 경로, 옵션, 속성> 찾았지만 설명서가 나에게 분명하지 않습니다. 어떤 경로, 옵션 및 특성을 설명 할 수 있습니까? 그것은 엄청난 도움이 될 것입니다.<@ spring.formMultiSelect>를 스프링 부트와 함께 사용하는 방법은 무엇입니까?

몇 가지 추가 정보 : 스프링 부트와 프리 마커를 사용하여 기본 양식을 만들려고합니다. 나는 다중 선택 입력란에 표시하려는 사용자 목록을 데이터베이스에 가지고 있습니다. DAO 클래스를 사용하여 데이터베이스에서 사용자 이름을 가져오고 .ftl 페이지를 표시하는 컨트롤러 클래스가 있습니다. 나는 Spring과 Freemarker에 완전히 익숙하지 않아 @ spring.formMultiSelect>의 구현이 어떻게 수행되어야하는지에 대한 지침이 필요하다.

미리 감사드립니다.

답변

0
  • 경로은 바인딩하려는 필드입니다.
  • 옵션는 다중의 옵션을
  • 입력의 다른 필드입니다 속성 선택입니다

예 :

양식 ...

public class PersonForm { 
    private String name; 
    // Getter Setter 
} 

그리고 컨트롤러 ...

"남성":
@Controller 
public class Controller{ 
    @GetMapping(value = "/") 
    public String getPersonForm(Model model){ 
    PersonForm personForm = new PersonForm(); 
    model.addAttribute(personForm); 
    } 
} 

예 옵션 { "1"과 같은 맵 뭔가 "personForm.name는"경로이고 두 번째 라인은 당신의 속성 필드

입니다 예를 들어

<@spring.formInput "personForm.name" 
"id='some-id' placeholder='Enter name' class='some-class-for-input'" /> 

을 askd "2": "여성"}

spring.ftl 코드 ...

<#macro formMultiSelect path options attributes=""> 
    <@bind path/> 
    <select multiple="multiple" id="${status.expression?replace('[','')?replace(']','')}" name="${status.expression}" ${attributes?no_esc}> 
     <#list options?keys as value> 
     <#assign isSelected = contains(status.actualValue?default([""]), value)> 
     <option value="${value}"<#if isSelected> selected="selected"</#if>>${options[value]}</option> 
     </#list> 
    </select> 
</#macro>