2014-11-24 5 views
-1

다음 코드를 사용할 때 java.lang.IllegalArgumentException 오류가 발생했습니다.f : 속성에서 jsf 2.0 el 표현식을 사용할 수 없습니까?

<h:dataTable value="#{toDoBean.toDoItemList}" var="toDoItem" > 

     <h:column> 
      <h:selectBooleanCheckbox value="#{toDoItem.finsh}" 
            valueChangeListener="#{toDoBean.onStatusChange}" 
            onchange="submit()"/> 
     </h:column> 

     <h:column> 
      <h:outputText value="#{toDoItem.title}"/> 
     </h:column> 

     <h:column> 
      <h:commandButton value="X" actionListener="#{toDoBean.onDelete}"> 
       <f:attribute name="id" value="#{toDoItem.title}" /> 
      </h:commandButton> 
     </h:column> 
    </h:dataTable> 

하지만

<f:attribute name="id" value="testing" /> 

다음 모든 작업 벌금

<f:attribute name="id" value="#{toDoItem.title}" /> 

를 교체합니다.

내 가정은 "나는 EL을 f : attribute와 사용할 수 없다"입니다.

  1. 맞습니까?
  2. 왜?
  3. f : 속성에서 el을 사용하는 방법이 있습니까?
+0

"F : 속성"참조하시기 바랍니다 태그를 사용하면 구성 요소, 또는 액션 리스너를 통해 구성 요소에 매개 변수에 속성 ​​값을 전달 할 수 있습니다. – Scorpion

+0

'# {toDoItem.title}'이 (가)'String'으로 해석합니까? ''의 각 행에'title'이 채워져 있습니까? –

+0

귀하는 귀하의 managedbean을 보여 주셔야합니다. – wittakarn

답변

0

귀하의 toDoItemList 목록에 필드 제목이 있습니까? 그렇다면 제목에 게터 및 설정자가 있습니까? 또한

jsf f:attribute

+0

, 내 ToDoItem 클래스에 올바른 getter 및 setter가 있습니다. 내 관리 빈과 다른 클래스가 맞다고 가정 할 수 있습니다. – FranXho