2013-01-15 2 views
3

누구든지 도움이 될지 궁금합니다.thymeleaf ajax 타일의 스프링 * {} 필드

저는 Spring/Webflow/Tiles/Thymeleaf 프로젝트 작업 중입니다. 모든 것이 합리적으로 잘 진행됩니다. 일반적으로 다음과 같은 데이터 입력 양식을 나타내는 타일이 있습니다.

<form th:object="${questionnaire}"> 
    .... 
    <select th:field="*{title}> 
     <option ..... 
    </select> 
    .... 
    <input th:field="*{fname}" /> 
    <input th:field="*{lastname}" /> 
    .... 
</form> 

이것은 잘 작동합니다. 그러나 이제 폼에 아약스 마법을 추가하려고합니다. 기본적으로 생각하면 버튼을 누르면 웹 플로우 전환이 트리거되어 타일에서 응답을 렌더링합니다. 이것은 잘 작동합니다 ... 조각 타일의 내용을 기대하십시오. 아이디어는 새로운 조각이 몇 가지 추가 양식 필드가 될 것입니다. 이런 식으로 뭔가가 :

<div tiles:fragment="moreDetails"> 
    .... 
    <input th:field="*{phone}" /> 
    <input th:field="*{email}" /> 
    .... 
</div> 

webflow 타일 부분은 작동하고 있지만, thymeleaf는 타일을 렌더링 할 때, 그것은 양식 필드는 * {} 구문을 사용하여 속성을 참조하지만, 폼 태그로 묶여 불평 with th : object

지금까지 2 가지 해결 방법 만 제시했습니다. 우리는 조각 태그 안에 th : 객체를 넣을 수 있습니다. 그러나 이것은 결과 페이지에 중첩 된 양식을 가지고 있다는 것을 의미합니다 : ( 우리가 할 수있는 것으로 발견 된 다른 것은 간단하게 입력 필드를 오히려 일보다 name 속성 : 필드 은 모두 '솔루션'잘못된 느낌

더 나은,

이 일의 친화적 인 방법 thymeleaf 더 환호

답변

2

나단

가있는 경우

사람이 알고 있나요? 나는 thymeleaf 포럼에 같은 질문을 올렸고 저자 인 Daniel thymeleaf의 대답 "번째 : 필드" http://forum.thymeleaf.org/Spring-fields-in-an-ajax-tile-td4025527.html

실제로 "이름", "ID"및 입력 "값"에 값을 제공 매크로의 일종이다. ,

<input id="phone" name="phone" th:value="${questionnaire.phone}" /> 

감사합니다 다니엘 : 같은 : 당신은 "값 번째"다음 고정 된 값으로 "이름"과 "ID"를 할당하고, 수, 직접 필드 : 그래서 경우에 당신은 번째 사용할 수 없습니다.

기본적으로 앞서 언급 한 2 가지 해결 방법은이를 달성하는 방법입니다. 이상적이지 않지만 (IMHO) 적어도 우리에게는 답이 있습니다.

+0

고맙습니다. –