저는 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}"/>
나는 또한 번째로 다양한 표현을 시도했다.
충분한 정보를 제공해 주셨으면합니다! 어떤 도움을 주셔서 감사합니다!
propertyX가 '부울'입니까? 아니면 대문자 B가 부울입니까? – Metroids
@Metroids 먼저 부울을 사용했지만 부울로 시도 했으므로 null로 설정할 수는 없다는 것을 이해했습니다. – Klarow
음, 잘 알겠지만 nulls는 라디오 필드에서 작동하며''올바른 방법입니다. 더 많은 (또는 전체적으로) 예외를 게시 할 수 있습니까? 게시 한 행에는 도움이되는 내용이 없습니다. – Metroids