- execute bean method

问题描述 投票:1回答:1

我在一个表单上有两个rich:dataTable:

1]项目清单(最后一栏包含a4j:commandLink,根据this tutorial

2]表取决于第一个表中的选择行

第一个表的最后一列:

<rich:column>
  <a4j:commandLink>
    <h:graphicImage value="/images/icons/edit.png" alt="edit"/>
    <a4j:param value="#{it.index}" assignTo="#{myBdeCheck.currentIndex}" />
    <f:setPropertyActionListener target="#{myBdeCheck.editedWork}" value="#{bchItem}" />
  </a4j:commandLink>
</rich:column>

CommandButton在第二个dataTable的方面:

<h:commandButton id="btnCheck" action="#{myBdeCheck.edit}" value="#{conf.buttonEdit}"/>

此时我必须按下a4j:commandLink(编辑)并在第二个表单上的那个按钮之后,然后显示正确的项目。但我正在使用两个按钮做一件事。

如何直接按a4j:commandLink在第二个数据表中显示正确的项目?

(我试图将action="#{myBdeCheck.edit}"移动到commandLink,但它不起作用。)

你可以帮帮我吗?

更新:编辑方法:

public void edit()
{
  session = DaoSF.getSessionFactory('R').openSession();
  try 
  {
    Criteria criteria = session.createCriteria(BDE.class);
    (some restrictions...)
    dataList = criteria.list();
  } catch {......}
}

更新:rich的一部分:dataTable:

<rich:extendedDataTable 
  id="rich2"
  value="#{myBdeCheck.dataList}"
  var="bdeItem">

<rich:column>
  <f:facet name="header">
    <h:outputText value="PersId" />
  </f:facet>
  <h:outputText value="#{bdeItem.personalNum}"/>
</rich:column>
(.....)
ajax jsf richfaces
1个回答
2
投票

从Richfaces4组件指南:

a4j:commandLink只需要value属性即可运行。使用value属性指定链接的文本。

尝试将值属性添加到a4j:commandLink,然后在编辑方法中调试并查看是否已到达:

<a4j:commandLink value="Example Text" action="#{myBdeCheck.edit}" />

Richfaces4 Component Reference

另外 - 因为你想要使用图像提交,更容易切换到a4j:commandButton?

© www.soinside.com 2019 - 2024. All rights reserved.