0

首先,我在 JSF 1.2 / Richfaces 3.3 / Tomahawk 1.1.9 下工作。

我在一个 JSF 页面中有这段代码(简化):

<h:form id="mainForm">
(...)
<h:panelGroup id="grupSelMalaltia">
    <rich:panel header="Panel Name">
        <t:subform id="selMalaltiesForm">

            <rich:dataTable align="center" id="dataSelMalalties" value="#{TaulaMalalties.listMalalties}" var="cMal">

                (some <rich:column>)

                <rich:column>
                    <t:commandLink actionFor="selMalaltiesForm" action="select_malaltia">
                        <f:param name="has_selection" value="true">
                        <h:graphicImage url="/Icons/select.png" />
                    </t:commandLink>
                </rich:column>
            </rich:dataTable>

        </t:subform>
    </rich:panel>
</h:panelGroup>
<h:form>

我收到此错误:

INFO: Unable to find component 'selMalaltiaForm' (calling findComponent on component 'mainForm:selMalaltiesForm:dataSelMalalties:0:j_id_jsp_2136723630_43'). We'll try to return a guessed client-id anyways - this will be a problem if you put the referenced component onto a different naming-contaier. If this is the case you can always use the full client-id.

当按下按钮时,我只想提交这个子表单(我有其他 JSF 页面,它们运行类似的代码没有问题)。目前,由于这个问题,我没有得到这个结果。

我该如何解决这个故障?先感谢您。

4

1 回答 1

0

最好使用 a<a4j:commandLink>并将processtag 属性设置为您想要/需要处理的组件的 ID。

根据您提出的 JSF 代码,可以这样完成

<rich:panel header="Panel Name">
    <rich:dataTable align="center" id="dataUnselMalalties"
        value="#{TaulaMalalties.listMalalties}" var="cMal">
        <!-- richfaces columns with info -->
        <rich:column>
            <!-- processing the datatable only -->
            <a4j:commandLink action="#{TaulaMalalties.select_malaltia}"
                process="dataUnselMalalties" limitToList="true">
                <f:param name="has_selection" value="true">
                <h:graphicImage url="/Icons/select.png" />
            </a4j:commandLink>
        </rich:column>
    </rich:dataTable>
</rich:panel>

有关此的更多信息:

于 2012-11-09T15:02:40.093 回答