gpt4 book ai didi

java - 没有调用任何集合的 FacesComponent

转载 作者:行者123 更新时间:2023-12-01 13:39:30 25 4
gpt4 key购买 nike

这是我的 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 值调用方法,但 setChecklist(ListaChecklistWrapper checklist)不会被调用,并且组件内的 checklist 属性始终为 null。

如果我这样做#{CheckBean.checklists[0].nome}<checando:exibi...标记它有效。因此,该对象不为 null...它只是缺少对 set 方法的调用。

我有什么遗漏的吗?

Mojarra 2.1.13 (20120907-1514) 和 java 版本“1.7.0_25”。

谢谢。

最佳答案

我想,直接将 nome 作为参数提供给组件会再次起作用吗? (类似于 setChecklistNome(String nome)。

如果是这样,提供与 java.lang.String 不同的直接参数可能会遇到挑战。您是否尝试过将参数作为 cc.attrs.checklist 提供,而不是直接将其写入 UINamingContainer 中?

关于java - 没有调用任何集合的 FacesComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com