2017-11-02 1 views
0

저는 Thymeleaf를 처음 접했고 거기까지 문서가 도움이되었습니다. 그러나 나는 몇 시간의 연구와 많은 연구가 끝난 후 양식에 붙어 있습니다! HTML 형식으로 데이터 테스트를 미리로드하고 있습니다 (나중에 DB에서 올 것입니다).Thymeleaf th : 입력란에는 null이 있지만 라디오에는없는 이유는 무엇인가요?

자바 봄 컨트롤러

@RequestMapping(value = "/foobar", method = RequestMethod.GET) 
    public String foobar(@RequestParam(value="bar", required = true) String id, Model model) { 

     Obj foo = new Obj(); 
     foo.setPropertyOne(1.71f); 
     foo.setPropertyTwo(null); 

     model.addAttribute("foo", foo); 

     return "foobar"; 
    } 

속성은 계속해서 이동합니다. 나는 POJO Obj에 @Annotation을 두지 않았다. (?)

나는 입력 텍스트에 매력처럼 작동하는 필드를 발견하게되어 기뻤습니다. 텍스트 데이터가 (null로 설정 또는 전혀 설정되지 않음)이 아닌 경우가, 미리로드 된 것이있을 경우

<form th:object="${foo}" action="#" method="post"> 
    <input type="text" th:field="*{propertyOne}" /> 
</form> 

는 입력이 비어 유지됩니다.

라디오 유형으로 이동하십시오.

<input value="false" type="radio" th:field="*{propertyX}"/> 
<input value="true" type="radio" th:field="*{propertyX}"/> 

부울에 따라 여전히 유효하며 false 또는 true로 확인됩니다. 하지만 null로 설정되거나 설정되지 않은 경우 org.thymeleaf.spring4.processor.attr.SpringInputRadioFieldAttrProcessor; 분명히 Thymeleaf는 RadioField에서 null을 처리하지 않습니까?

내가 번째 사용하려고 : 대신 확인하지만, 처리하지 않습니다 널 (null)도 :하지만 뭔가 작업을 얻을 관리하지 않은 경우 :

<input value="false" type="radio" th:checked="!*{propertyX}"/> 
<input value="true" type="radio" th:checked="*{propertyX}"/> 

나는 또한 번째로 다양한 표현을 시도했다.

충분한 정보를 제공해 주셨으면합니다! 어떤 도움을 주셔서 감사합니다!

+1

propertyX가 '부울'입니까? 아니면 대문자 B가 부울입니까? – Metroids

+0

@Metroids 먼저 부울을 사용했지만 부울로 시도 했으므로 null로 설정할 수는 없다는 것을 이해했습니다. – Klarow

+1

음, 잘 알겠지만 nulls는 라디오 필드에서 작동하며''올바른 방법입니다. 더 많은 (또는 전체적으로) 예외를 게시 할 수 있습니까? 게시 한 행에는 도움이되는 내용이 없습니다. – Metroids

답변

0

감사합니다. @Metroids, 전체 예외를 추가하기 위해 첫 번째 메시지를 수정하려고했습니다. 그것은 대단한 것이 었습니다. 보통 그것을 읽음으로써 해결책을 찾았습니다 ... 아마도 그것을 충분히 읽을 수 없었을 것입니다. : X

내가 게시하기 전에 다시 읽고 갑자기 나는 세 번째 줄에 여기, 실현 : org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)

내가 먼저 부울, 부울을 사용하지만 게터를 변경하는 것을 잊었다 말했듯! 그것은 여전히 ​​isPropertyX이었고 getPropertyX이 아니 었습니다. 그렇다면 Thymeleaf가 그 방법에 접근 할 수 없었을 것입니다!

이제 작동 중입니다. 어쨌든 고마워, 나는 우리의 교환 덕분에 여기에 왔어!

관련 문제