javax.el.E​​LException:java.lang.NullPointerException

时间:2014-06-02 20:30:10

标签: java jsf primefaces

我使用primefaces单行选择数据表,我想更改所选行的值,所以这是我的xhtml页面

<h:form id="form">
    <p:panel header="Prix des matériaux " style="width : 664px; " >  
        <br />
        <p:dataTable id="cars" var="car" value="#{materielbean.listitemsmaterielBean}"
            rowKey="#{car.iditemsmateriel}"  paginator="true" rows="20"  
            selection="#{materielbean.selecteditemforprix}" selectionMode="single" > 
            <p:ajax event="rowSelect"  update=":form:dialog" oncomplete="PF('carDialog').show()"/>  
            <f:facet name="header">  
                Liste de de matériel  
            </f:facet>  
            <p:column headerText="Désignation" filterBy="designation"  >  
                #{car.designation}  
            </p:column>  
            <p:column headerText="Unité">  
                #{car.unite}  
            </p:column>  
            <p:column headerText="Prix en DT" >  
              #{car.prix} 
            </p:column>
        </p:dataTable>  

        <p:dialog id="dialog" header="Changer le prix d'un article" widgetVar="carDialog"
            resizable="true" showEffect="fade" hideEffect="explode">  
            <h:panelGrid columns="3">         
                <h:outputText value=" #{materielbean.selecteditemforprix.designation}" /> 
                <p:inputText value="#{materielbean.selecteditemforprix.prix}"/>
                <p:commandButton value="OK"  action="#{materielbean.modifprixofitem()}"
                    onclick="PF('carDialog').hide()" update=":form:cars"   />
            </h:panelGrid>
        </p:dialog>  
    </p:panel>  
</h:form>

这是修改所选对象的辅助bean

@ManagedBean(name="materielBean")
@SessionScoped
    private ItemsMateriel selecteditemforprix;

    public ItemsMateriel getSelecteditemforprix() {
        return selecteditemforprix;
    }

    public void setSelecteditemforprix(ItemsMateriel selecteditemforprix) {
        this.selecteditemforprix = selecteditemforprix;
    }


    public void modifprixofitem() {
        itemmaterielDAO.Modifitemsmateriel(selecteditemforprix );
        selecteditemforprix = new ItemsMateriel();  
    }

当我点击&#34; OK&#34;我从inputtext中获取新值,在数据库中更新我的对象,最后我更新数据表,但是当我这样做时,我收到一个错误,上面写着

22:16:48,999 GRAVE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost-127.0.0.1-8383-6) javax.el.ELException: /Gestionstock/Materiel/Matos.xhtml @28,97 rowKey="#{car.iditemsmateriel}": java.lang.NullPointerException

1 个答案:

答案 0 :(得分:0)

问题是在最后一个问题selecteditemforprix = new ItemsMateriel();我真的不知道该问题是什么问题但是当我删除它时一切正常,任何其他澄清将不胜感激。