奇怪的javax.el.PropertyNotFoundException,不适用于手动部署,但适用于eclipse部署

时间:2016-05-16 14:45:11

标签: eclipse jsf deployment wildfly propertynotfoundexception

我在托管bean(JSF 2.2)中声明属性时遇到了问题,我已经阅读了关于bean中属性的名称约定的其他问题,我的看似没问题。我的page.jsf是一个ui合成,属性名称是日期: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 =&#34;#{postoAtendimentoBean.dataSemAtendimento}& #34;:班级&#39; br.com.webtech.scheduler.bean.postoatendimento.PostoAtendimentoBean&#39;没有属性&quot; dataSemAtendimento&#39;。

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

另一件奇怪的事情是,当我通过Maven webModule标签更改应用程序的context-root时,就会发生这种情况。

编辑:我通过使用错误的上下文根复制.class并使用新的context-root将其放入生成的ear中来解决这个问题,但这是一种解决问题的绝佳方法。

0 个答案:

没有答案