传递JSF参数而不实现setter方法

时间:2012-08-25 09:37:43

标签: java jsf-2

我有一个带有commandlink的数据表,我想将一个对象传递给bean。 commandlink上的action属性指向同一页面即。没有导航。结果(我认为/怀疑),或者由于某些其他原因,bean中的setter方法没有被实现,因此我在bean中的对象为null。我该如何解决这个问题。下面是数据表和setter以及我的方法的摘录。日Thnx

<h:commandLink value="Delete"actionListener="#bOQMasterManager.removeBOQ}" action="boqmaster">
     <f:setPropertyActionListener target="#{bOQMasterManager.boqmasterPK}" 
        value="#{boqs.boqmasterPK}" />
   </h:commandLink>


public void setBoqmasterPK(BoqmasterPK boqmasterPK) {
     System.out.println("In the setter!!!");
    this.boqmasterPK = boqmasterPK;

}

public void removeBOQ(ActionEvent event) {
    try {
        System.out.println("In removeBOQ!!!");

        request.removeBoq(boqmasterPK);
        logger.info("Removed BOQ .");
    } catch (IllegalArgumentException e) {
        System.out.println("In the exception!!!"+e.getMessage());

    }
}

             

1 个答案:

答案 0 :(得分:0)

首先,我希望

actionListener="#bOQMasterManager.removeBOQ}"

actionListener="#{bOQMasterManager.removeBOQ}"

setBoqmasterPK Bean中定义bOQMasterManagergetBoqmasterPK必须在boqs中定义public void setBoqmasterPK(BoqmasterPK boqmasterPK) { System.out.println("In the setter!!!"); this.boqmasterPK = boqmasterPK; }

{{1}}