동적으로부터 추가, 삭제할 수 있습니다 이메일 주소의 목록입니다 JSF 복합 구성 요소가 있습니다 사용JSF2 복합 cc.attrs 발현 제대로
<composite:interface shortDescription="Display party email addresses">
<composite:attribute name="addressable" required="true"/>
</composite:interface>
<composite:implementation>
<h:panelGroup layout="block" id="emails">
<h:dataTable id="emailList" value="#{cc.attrs.addressable.emailAddresses}" var="email" styleClass="data-list small-list" cellpadding="0" cellspacing="0">
<h:column>
<f:facet name="header">Address</f:facet>
<h:inputText id="emailAddress" value="#{email.address}" size="30" maxlength="100" required="true" label="Email"/>
</h:column>
<h:column>
<f:facet name="header">Description</f:facet>
<h:inputText id="emailDescription" value="#{email.description}" size="20" maxlength="100"/>
</h:column>
<h:column>
<f:facet name="header">
<h:panelGroup styleClass="right-align" layout="block">
<h:commandLink id="addEmail" action="#{cc.attrs.addressable.addEmailAddress}" title="Add an email address">
<f:ajax execute=":#{cc.clientId}:emails" render=":#{cc.clientId}:emails"/>
<h:graphicImage library="images" name="add.png" id="emailAddImg"/>
</h:commandLink>
</h:panelGroup>
</f:facet>
<h:commandLink id="deleteEmail" action="#{cc.attrs.addressable.remove(email)}" title="Remove the email from this row">
<f:ajax execute=":#{cc.clientId}:emails" render=":#{cc.clientId}:emails"/>
<h:graphicImage library="images" name="delete.png" id="emailDeleteImg"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:panelGroup>
</composite:implementation>
이 구성 요소를 다음과 같이
ERROR [S 다음 'deleteEmail "액션을 호출
<edit:emailAddresses addressable="#{personAddressable}" id="emailAddresses"/>
예외를 야기 TDERR] 원인 : javax.el.MethodNotFoundException : /resources/edit/emailAddresses.xhtml @ 34,130 action = "# {cc.attrs.addressable.remove (이메일)}": 메소드를 찾을 수 없음 : 아니오 - 끝점 [ jboss.j2ee : 항아리 = tephra.war 이름 = PersonAddressable, 서비스 = EJB3] 세션 3j011-mgweoj-ghfwhlvv -1- ghfy2e5j-e1.remove()는
personAddressable 작업이 변경되는 경우 그러나. 그것을 (전자 우편) 제거하십시오 작동한다! 이것은 간단한 매개 변수 대체와 같으며 어떤 차이도 없어야합니다. 매개 변수가없는 이메일 주소를 추가하는 작업은 정상적으로 작동합니다.
backing bean에 대한 코드를 게시하지 않을 것입니다. 그러나 참조 용으로는 CDI (stateful conversation scoped bean)입니다.
저는 el 2.2를 사용하는 JBoss AS6-M5를 사용하고 있습니다.
JSF impl/version은 무엇입니까? – BalusC
jar-versions.xml에 따른 Mojarra 2.0.2-FCS. 그래도 좋은 지적. 이것이 도움이되는지보기 위해 나는 가장 최신의 가장 위대한 것을 얻으려고 노력할지도 모른다. – Andrew
실제로 Mojarra 2.0.3 및 MyFaces 2.0.1이있는 JBoss6-CR1로 업그레이드되었습니다. 이러한 구현 중 어느 것도 문제를 해결하지 못했습니다. jboss-el 구현이 M5와 CR1 (1.0_02.CR2)에서 모두 동일하기 때문에 이것은 거의 놀라운 일이 아닙니다. – Andrew