2012-05-25 3 views
1

JSF 2.0은 관리 빈에 대한 클래스를 찾기 위해 규칙을 사용한다는 것을 알고있다. 클래스 제품 코드가 존재하는 경우 JSF 페이지에서 관리 빈을 바인딩하여 컴파일시 이름 문제를 감지한다.

<h:outputText value="#{productCode.productCode.prodCode}" title="ProdCode" /> 

이 코드에서 우리는 알 수 없습니다 그것은 멤버라는 이름의 제품 코드가있는 경우 실행 시간이 페이지가 될 때까지.

컴파일 타임에 이름 문제를 알 수 있습니까?

+1

NetBeans 7.x 또는 Eclipse with JSF Tools 만 사용하십시오. 그래도 페이지는 문제없이 컴파일되지만 관리 빈/속성이 누락되었다는 경고를 표시합니다. –

답변

2

이 문제점은 JSF에만 국한되지 않습니다. 이 문제는 사용 된 개발 도구 세트에 따라 다릅니다. 어떤 제품을 사용하고 있는지 불분명합니다. 당신이 메모장을 사용한다면, 당신은 정말 운이 없어. 하지만 Eclipse의 경우 JBoss Tools을 설치하고 싶습니다. EL 자동 완성과 Ctrl + 클릭 탐색을 제공합니다.

enter image description here

현재 Indigo SR2 "Eclipse IDE for Java EE Developers"를 사용한다고 가정>도움말로 이동하여 새 소프트웨어를 설치하고 다음 URL을 입력하십시오 목록에서

http://download.jboss.org/jbosstools/updates/indigo/SR2/

을 , "JBoss Web 및 Java EE Development"옵션을 선택하십시오 (다른 것은 필요하지 않습니다).

속성을 프로그래밍 방식으로 조작 할 수 있기 때문에 "컴파일 오류"를 강제로 수행 할 수 없습니다. IDE가 얼마나 똑똑 할 수도 있습니다. Java 소스 코드를 기반으로 감지 할 수 없으며 잘못된 음수를 생성합니다.

+0

Netbeans 7.1을 사용합니다. 나는 문자열 내부의 JPQL 질의와 비슷한 문제라고 생각한다. 단지 LiquidForm을 사용하여 멤버 또는 클래스 이름 문제가있을 경우 컴파일 시간을 알 수 있다는 것을 해결한다. JPA 2가이를 해결할 기준이되었다는 것을 알고 있습니다. – JonathanVila

+0

우리는 JSF에 대한 경험이 거의 없으며 이것이 발생할 것으로 생각되는 문제입니다. 관리 Bean을 사용하여 누군가 JSF 페이지를 작성했지만 누군가 해당 페이지에서 사용 된 멤버의 이름을 변경하는 경우 고객이 해당 페이지로 이동할 때까지이를 피할 수 있습니다. – JonathanVila

+0

그것이 단위 테스트가 발명 된 이유입니다. JUnit/Selenium 테스트를 만들고 빌드 프로세스에 던지십시오. – BalusC

관련 문제