2012-02-24 6 views
0
<h:outputLabel value="#{bundle.CreateCustomerLabel_email}" for="email" /> 
<h:inputText id="email" value="#{customerController.selected.email}" title="#{bundle.CreateCustomerTitle_email}" /> 

<h:outputLabel value="Address:" for="addressId.address" /> 
<h:inputText size="30" id="address" value="#{customerController.selected.addressId.address}" title="Address" > 
</h:inputText> 

에 중첩 된 객체를 사용하는 방법은있어 : 주소 엔티티 빈에서은 Cutomer 엔티티 빈에서 JSF 2.0

@JoinColumn(name = "address_id", referencedColumnName = "address_id") 
@ManyToOne(optional = true, cascade={CascadeType.ALL}) 
private Address addressId; 

내가있어 :

Basic(optional = true) 
@NotNull 
@Size(min = 1, max = 50) 
@Column(name = "address") 
private String address; 

질문을 : JSF 2.0 양식에서 중첩 된 특성을 사용하려면 어떻게해야합니까? 중첩 된 양식이나 방법을 구현해야합니까?

미리 감사드립니다. Sami

+1

잘 작동하면 두 번째 레이블의 'for' 속성이 잘못 될 것으로 예상됩니다. 당신이 겪고있는 구체적인 문제는 무엇입니까? – BalusC

+0

구체적인 문제는 그것이 전혀 작동하지 않는다는 것입니다. 첫 번째 (간단한 경우)는 작동하지만 중첩 된 버전은 작동하지 않습니다. 그래서 for 속성은 무엇입니까? – Sami

+0

[기본 HTML] (http://htmldog.com/guides/htmlbeginner/)을 배우기 시작할 것입니다. 당신은 실제로 HTML 형식을 작성한 적이없는 것 같습니다. 일단 HTML에 대해 조금 이해한다면, JSF는 기본적으로 HTML 코드 생성기라는 것을 기억해야합니다. 그런데 깨진'for' 속성은 절대 작동하지 않는 형태가되지 않아야합니다. 그래서 초기 문제는 Svetoslav가 대답하는 것 이외의 다른 원인에 의해 야기되었을 것입니다. – BalusC

답변

0

addressId 및 주소에 대한 메소드가 있습니까? 두 번째 레이블의 for 속성은 for="address"이어야합니다.

+0

감사! 그거였다. for-attribute의 목적은 무엇입니까? 방금 JSF로 코드 작성을 시작 했으므로 나에게 이상한 일이 많이있었습니다. 나는 게터를 얻었고, 그 변화가 끝난 후에 모든 것이 작동한다고 말했어. BTW. JSF 애플리케이션에 역할과 보안을 구현하는 가장 쉽고 좋은 방법은 무엇입니까? 그 정보에 관해 많은 정보가있을 수 있지만 ... – Sami

+0

'for' 속성은 레이블 요소를 생성 할 구성 요소를 식별합니다. –