2009-06-22 4 views
0

데이터베이스 열을 사용하여 링크를 만들고 싶습니다. 나는 데이타베이스에 연결하는 backing bean을 가지고있다. 연결에 문제가없고 링크 이름에도 문제가 없습니다. 내 브라우저에서 내 링크를 볼 수 있습니다. onclick 함수를 사용하고 싶습니다. 문제가 시작되는 곳입니다. onclick에서 EL을 어떻게 사용할 수 있습니까?JSF, onclick에서 EL을 사용하는 법

약간의 예 :

<h:dataTable rows="7" value="#{frontSiteMenu.links}" var="row" 
    styleClass="sitemenu" width="200"> 
    <h:column> 
     <a href="#" onclick="dispNewsGroup('${row.newsGroupId}')"><h:outputText value='#{row.newsGroup}' /></a> 
    </h:column> 
</h:dataTable> 

감사합니다.

답변

5

나는 JSP를 사용하고 있습니까?

사용 h:outputLink 대신의 태그 변경 표현은 # 문자 사용 안된

<h:outputLink value="#" onclick="dispNewsGroup('#{row.newsGroupId}')"> 
    <h:outputText value='#{row.newsGroup}' /> 
</h:outputLink> 

,하지만 당신이 원하는에 가까워 야합니다. {EXPR} 즉시 평가를 위해 구축과 #이 {EXPR} 를 구성

이 규칙에 의해

...는 J2EE 웹 계층의 사양은 $를 사용

은 사양은 $ 대 이것에 대해 #을 말한다 지연된 평가.

따라서 기본 값이 변경되는 반복 제어에서는 지연된 평가를 사용하는 것이 바람직합니다.

비 JSF 태그를 일부 JSF 컨트롤의 자식으로 사용하는 경우에도 문제가 있으므로 가능한 경우 JSF 컨트롤을 사용하는 것이 가장 좋습니다 (f:verbatim 태그가 있지만). 새로운 Facelets보기 기술로 이동하면 이러한 문제 중 많은 부분이 사라집니다.