2012-02-29 3 views
6

어떤 방법을 선호하는지 궁금합니다 : 전체 classname.property로 백업 빈 vars에 액세스하거나 생산자 메소드로 속성 이름에 직접 액세스 할 수 있습니까? 이 프로젝트는 클래스, 서비스, 외관 등 나에게생산자 메소드 대 명명 된 클래스

@Named 
public Service { 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{service.customers}" /> 

또는

public Service { 
    @Produces 
    @Named 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{customers}" /> 

첫 번째 방법의 장점 인의 많은 훨씬 더 큰 성장, 특히 그 나는, 나는 항상 JSF를 변경해야하는 경우 정규화 된 이름으로 인해 수정해야하는 클래스를 정확히 알아야합니다.

두 번째 방법에서는 단점이 있지만 많은 서비스와 클래스의 경우에는 읽기가 더 좋습니다.

전문가의 의견은 무엇입니까?

답변

0

IMO, 첫 번째 경로로 이동합니다. 리팩토링 (IDE가 JSF 페이지에서도 이름이 바뀌 었다고 가정 할 때)이 더 쉽습니다. 솔직히 나는 개인적인 취향이 될 것으로 기대합니다.

service.property를 사용하는 또 다른 이점은 속성을 수정하고 해당 속성을 UI에 반영 할 수 있다는 것입니다. 제작자를 사용하는 경우 해당 제작자는 getter가 항상 호출되는 범위 당 한 번만 호출됩니다 (다른 성능 교환). 일을하는 방법에는 여러 가지가 있으며, 무엇을 위해 일하는 것이 좋을까요, 그런 식으로 사용하십시오.

0

항상 페이지와 관련된 Managed Bean을 참조하기 때문에 첫 번째 옵션을 사용합니다. 나는 그것이 더 이해할 수있는 코드라고 믿는다.