0

我在托管 bean(JSF 2.2)中声明属性时遇到问题,我已经阅读了有关 bean 中属性名称约定的其他问题,我的似乎没问题。我的 page.jsf 是一个 ui 组合,属性名称是一个 date: private Date dataSemAtendimento。这是我正在使用的 primefaces (5.1) 的日历标签:

<p:dialog header="Escolha as data de feriado e ponto facultativo"
        widgetVar="modalCalendar" id="modalCalendar" modal="true" width="400"
        height="500" appendTo="@(body)">
        <p:calendar id="popup" widgetVar="popupCal"
            value="#{postoAtendimentoBean.dataSemAtendimento}">
        </p:calendar>
        <p:commandButton value="Adicionar data" update="tableCal">
            <p:ajax listener="#{postoAtendimentoBean.adicionarDataFeriado}" />
        </p:commandButton>
        <p:dataList id="tableCal"
            value="#{postoAtendimentoBean.postoDiaSemAtendimentoList}" var="data"
            style="width:50%">
            <f:facet name="header">
                Datas que não ocorreram o atendimento
            </f:facet>
            <p:column>
                <h:outputText value="#{data}">
                    <f:convertDateTime locale="pt" />
                </h:outputText>
            </p:column>
            <p:column>
                <p:commandButton icon="ui-icon-trash" update="tableCal"
                    action="#{postoAtendimentoBean.removerDataFeriado(data)}">
                    <p:ajax listener="#{postoAtendimentoBean.removerDataFeriado(data)}"></p:ajax>
                </p:commandButton>
            </p:column>
        </p:dataList>
        <p:separator />
        <p:panelGrid style="margin: auto;">
            <p:commandButton value="Confirmar" onclick="PF('modalCalendar').hide();" />
        </p:panelGrid>
    </p:dialog>

这是与 get/setter 相关的托管 bean 代码:

@ManagedBean
@ViewScoped
public class PostoAtendimentoBean extends AbstractCRUDBean<PostoAtendimento, Long> {

    private Date dataSemAtendimento;

    public Date getDataSemAtendimento() {
        return dataSemAtendimento;
    }

    public void setDataSemAtendimento(Date dataSemAtendimento) {
        this.dataSemAtendimento = dataSemAtendimento;
    }

}

渲染视图时出错[/resources/template/template.xhtml]:javax.el.PropertyNotFoundException:/pages/cadastros/posto_atendimento/manter_posto_atendimento_persistencia.xhtml @161,25 value="#{postoAtendimentoBean.dataSemAtendimento}":类'br。 com.webtech.scheduler.bean.postoatendimento.PostoAtendimentoBean' 没有属性“dataSemAtendimento”。

我在wildfly(8.2.1)实例中运行,但奇怪的是当我手动部署它时它不起作用但是当我通过eclipse在服务器选项卡中添加耳朵时它可以正常工作。我迷路了,已经尝试了几件事。有任何想法吗?谢谢。

另一个奇怪的事情是,当我通过 Maven webModule 标签更改我的应用程序的上下文根时,这开始发生了。

编辑:我通过使用错误的上下文根复制 .class 并使用新的上下文根将其放入生成的耳朵中来解决这个问题,但这是解决问题的一种非常有效的方法。

4

0 回答 0