0
這裏是我的FacesComponent類:FacesComponent沒有一套名爲
@FacesComponent("ExibicaoChecklistComponent")
public class ExibicaoChecklistComponent extends UINamingContainer {
private ListaChecklistWrapper checklist;
private String altura;
public ListaChecklistWrapper getChecklist() {
return checklist;
}
public void setChecklist(ListaChecklistWrapper checklist) {
this.checklist = checklist;
}
public String getAltura() {
return altura;
}
public void setAltura(String altura) {
this.altura = altura;
}
}
和XHTML
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:pretty="http://ocpsoft.com/prettyfaces"
xmlns:ui="http://java.sun.com/jsf/facelets">
<cc:interface componentType="ExibicaoChecklistComponent">
<cc:attribute name="altura" default="300px" type="java.lang.String" />
<cc:attribute name="checklist" required="true" />
</cc:interface>
<cc:implementation>
Altura: #{cc.altura}
Checklist: #{cc.checklist.nome}
</cc:implementation>
終於用法:
<checando:exibicaoChecklist altura="200px" checklist="#{CheckBean.checklists[0]}" />
的setAltura
實現方法具用200px值調用d,但不調用setChecklist(ListaChecklistWrapper checklist)
,並且組件內的清單屬性始終爲空。
如果我做#{CheckBean.checklists[0].nome}
的<checando:exibi...
標記它的工作原理之外。所以,該對象不是空的......它只是一個缺少對set方法的調用。
有什麼我失蹤?
鑽嘴魚科2.1.13(20120907-1514)和Java版本 「1.7.0_25」。
謝謝。
我猜,給'nome'直接作爲參數傳入的組件不會再工作?(像'setChecklistNome(字符串諾姆)'。如果是這樣,則可能是給來自'Java的不同直接的參數是一個挑戰.lang.String'。你試過從,而不是直接寫入'UINamingContainer'給出參數'cc.attrs.checklist'? –
謝謝@ L-雷,張貼作爲一個答案,所以我可以檢查你的解決方案正確。 –
A Upvote也將讚賞。 :-) –