af:setPropertyListener不工作,调用(也不是f:setPropertyActionListener)

时间:2013-11-04 03:14:12

标签: java jsf-2 oracle-adf jdeveloper

有一个带ADF的基本JSF项目需要从表中删除一行(每行是一个Album),并且删除按钮位于请求的行旁边(每行有一行)。
使用JDeveloper尝试使用ADF(仅使用简单的JSF尝试此解决方案:(How can I pass selected row to commandLink inside dataTable?) 但是,在我看来,setPropertyListenersetPropertyActionListener没有调用(在setCommon()函数中放置了一些虚拟注释,未看到,del_action()的漂亮注释未显示)。还尝试了@SessionScoped bean。
主要问题:即使价值传递不起作用,出了什么问题?
任何想法都会受到高度赞赏(对于缺乏语法亮点,还是一个新手,还没有想出来)抱歉:))

JSF部分:

<af:column sortable="false" headerText=" " align="start" id="c4"> 
 <h:commandButton value="Delete" id="del" action="#{backing_main.del_action}">
  <af:setPropertyListener to="#{backing_main.common}" from="#{row.albumName}" type="action" />
 </h:commandButton>
</af:column> 

支持Bean:


   @ManagedBean(name="backing_main")
   @ViewScoped

   ...

    private String common; 
    public void setCommon(String common){
        System.out.print("!!!SET!!!!!");
        this.common = common;
    }

    public String getCommon(){
        return this.common;
    }

    public void del_action() {
        System.out.print("!!!!!!!!!!!!!!!!Delete1");     
    }

    public static class Album{

            String artist;
            String albumName;
            //constructor, setter, all the expected stuff
    }



1 个答案:

答案 0 :(得分:0)

您最好使用ADF组件来获得预期结果:af:commandButton,而不是h:commmandButton

如果您没有使用任务流来删除行,那么最好切换到actionListener,而不是action