使用object参数指定方法签名

时间:2014-06-03 10:26:38

标签: jsf primefaces composite-component

我正在实现一个复合组件,我需要使用一个命令按钮来删除数据表中的一行。对象可能没有在数据库中保留(取决于操作确认),因此我无法使用ID。

我知道我可以指定字符串或整数但是可以在界面中指定一个对象作为此单选按钮中操作的参数,应该如何完成(指定类路径)?该对象是我在支持的bean中管理的DTO:

<cc:interface>
    <cc:attribute name="objectList" />
    <cc:attribute name="removeButtonAction" 
            method-signature="void removeObjectDto(ObjectDto)" />
</cc:interface>
<cc:implementation>
    <p:datatable id="myDatatable" var="objectRow" value="{#cc.attrs.objectList}">
        ...
        <p:column>
            <f:facet name="header">Delete Action</f:facet>
            <h:commandButton value="Delete" action="#{cc.attrs.removeButtonAction(objectRow)}" >
                <f:ajax execute=":myDatatable" render=":myDatatable" />
            </h:commandButton>
        </p:column>
    </p:datatable>
</cc:implementation>

1 个答案:

答案 0 :(得分:2)

是的,你可以,但你需要通过这样的完整路径:

<cc:attribute name="yourMethodName" method-signature="void yourMethodName(br.com.yourPath.YourClassName)" />