이 게시물에서 JSF 페이지와 백킹 빈 간의 인터페이스에 대한 모범 사례에 대한 사람들의 의견을 얻을 수 있기를 바랍니다.
내가 결코 정착 할 수없는 한 가지는 내 백킹 빈의 구조입니다. 게다가 나는 그 주제에 대한 좋은 기사를 찾지 못했습니다.
어떤 속성이 어떤 백업 빈에 속합니까? 새 빈을 만들고 속성을 추가하는 것과는 반대로 주어진 빈에 더 많은 속성을 추가하는 것이 적절한시기는 언제입니까? 간단한 애플리케이션의 경우 하나의 빈을 다른 빈에 주입하는 것과 관련된 복잡성을 고려할 때 전체 페이지에 대해 단일 백킹 빈을 갖는 것이 합리적입니까? 백킹 빈은 실제 비즈니스 로직을 포함해야합니까, 아니면 데이터를 엄격하게 포함해야합니까?
이러한 질문과 다른 질문에 자유롭게 대답하십시오.
JSF 페이지와 백킹 빈 사이의 결합을 줄이기 위해 JSF 페이지가 백킹 빈 속성의 속성에 액세스하는 것을 허용하지 않습니다. 예를 들어 다음과 같은 것은 허용하지 않습니다.
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
나는 항상 다음과 같은 것이 필요합니다.
<h:outputText value="#{myBean.theObjectProperty}" />
백업 Bean 값은 다음과 같습니다.
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
컬렉션을 반복 할 때 예를 들어 데이터 테이블의 개체로 드릴 다운하지 않도록 래퍼 클래스를 사용합니다.
일반적으로이 접근 방식은 나에게 "옳다"고 느낍니다. 뷰와 데이터 간의 결합을 방지합니다. 내가 틀렸다면 나를 고쳐주세요.