【问题标题】:Specifying a method-signature with an object parameter使用对象参数指定方法签名
【发布时间】:2014-07-23 15:33:01
【问题描述】:

我正在实现一个复合组件,我需要在其中使用一个命令按钮,该按钮将从数据表中删除一行。对象可能尚未保存在数据库中(取决于操作确认),因此我无法使用 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>

【问题讨论】:

  • 我找到了答案,默认类是 java.lang.object 所以这是不可能的,我生成了一个标识符只是为了渲染对象

标签: jsf primefaces composite-component


【解决方案1】:

是的,你可以,但你需要像这样传递你的完整路径:

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

【讨论】:

  • 谢谢,我以为只允许 java.lang.objects
猜你喜欢
  • 1970-01-01
  • 2016-12-17
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
相关资源
最近更新 更多