【发布时间】:2013-10-10 22:09:36
【问题描述】:
我的 dataTable 由 ajax 调用填充,我的 commandLink(在 datataable 中)未指向正确的位置,并且始终呈现相同的页面。并在控制台中显示: HtmlLabelRend W id 为 j_id1471051656_3ffdbef6:j_id1471051656_3ffdbfc6 的标签组件的属性“for”未定义
但是当我将命令链接放在数据表之外时,操作方法可以正常工作。
这个问题很少见!请问如何解决?
提前致谢。
我的 Jsf 页面:
<h:form>
<p:panel header="Busqueda">
<p:panelGrid style="width:100%;">
<p:row>
-----------------------------------(inputs)---------------------------------------
<p:column>
<p:commandButton value="Buscar" update="grilla"
action="#{devolucionAdminController.buscarSD()}">´
</p:commandButton>
</p:column>
</p:row>
</p:panelGrid>
<p:messages closable="true" redisplay="true" id="msj"></p:messages>
</p:panel>
<p:dataTable id="grilla" var="r"
value="#{devolucionAdminController.listado}"
emptyMessage="No se han encontrado solicitudes de devolución">
<p:column headerText="Sec">
<h:outputText value="#{r.idSoliDevo}" />
</p:column>
<p:column headerText="Cuenta">
<h:outputText value="#{r.cuentaId}" />
</p:column>
<p:column headerText="Ver Detalle Sol. Dev ">
<p:commandLink
action="#{bajaController.mostrarSolicitudBaja(r.cuentaId,r.idSoliDevo)}" ajax="false">
<p:commandButton icon="ui-icon-search" title="Ver Detalle" />
</p:commandLink>
</p:column>
</p:dataTable>
<!--works fine -->
<p:commandLink action="#{bajaController.mostrarSolicitudBaja(80003,340)}"
ajax="false">
<p:commandButton icon="ui-icon-search" title="Ver Detalle" />
</p:commandLink>
</h:form>
我的第一个托管 Bean:
@ManagedBean
@RequestScoped
public class DevolucionAdminController {
List<TaSoliDevo> listado;
//getters and setters
........................
public void buscarSD() {
.............................
}
我的第二个托管 Bean:
@ManagedBean
@RequestScoped
public class BajaController {
public String mostrarSolicitudBaja(long cuentaId, long solicDevId) {
.........................
return "goResult";
}}
【问题讨论】:
-
为什么你把 p:commandButton 放在 p:commandLink 里面,它没有意义!
-
在数据表中试试这个代码:
<h:commandLink action="#{bajaController.mostrarSolicitudBaja(80003,340)}" ajax="false" value="theNameOfLink"> </h:commandLink> -
嗨,我把代码放在了数据表中,但我返回了一个不同的页面(主页)。
-
这个代码
<h:commandLink action="#{bajaController.mostrarSolicitudBaja(80003,340)}" value="theNameOfLink"/> -
没什么,我得到了同样的结果.....
标签: jsf jsf-2 primefaces