【发布时间】:2013-11-07 18:55:32
【问题描述】:
我使用<rich:datatable> 来显示List<Map<String, String> 的内容
在下面的代码中,spotlightPtBindings 是List<Map<String, String>,spotlightbinding 代表每个Map<String, String>。在第一列中,我为每一行显示一个 selectBooleanCheckBox。选中 selectbooleancheckboxbockboxboxboxboxboxbockboxbockboxbockboxbockboxboxboxboxbockboxbock Map<String, String>与键“URI”对应的值作为方法: Inserirbean.onselectCheckbox(URI),这就是为什么我将这个值放在名称为 uri 的 ui:param 中。这里的问题是,当我尝试打印 inserirBean.onSelectedCheckBox(uri) 中收到的值 uri 时,我没有得到任何输出,就好像它是空的一样.下面是其余的代码:
InsereDocumento.xhtml
<rich:dataTable value="#{inserirBean.spotlightPtBindings}" var="spotlightbinding">
<rich:column>
<f:facet name="header">*</f:facet>
<ui:param name="uri" value="#{spotlightbinding['URI']}"/>
<h:selectBooleanCheckbox value="#{selectionBean.selected}" />
<c:if test="#{selectionBean.selected}">
#{inserirBean.onSelectedCheckBox(uri)}"
</c:if>
</rich:column>
<c:forEach items="#{inserirBean.variableNamesPt}" var="vname">
<rich:column>
<f:facet name="header">#{vname}</f:facet>
#{spotlightbinding[vname]}
</rich:column>
</c:forEach>
</rich:dataTable> <br />
SelectionBean
package managedBeans;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class CheckBoxSelectionBean implements Serializable {
private transient boolean selected = false;
private static final long serialVersionUID = 1L;
public CheckBoxSelectionBean() {
// TODO Auto-generated constructor stub
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
}
InserirBean - 我没有在这里展示名为 spotlightPtBinding 的 List<Map<String, String>> 以及如何填充 List<String> variableNamesPt,因为这是一个复杂的过程,但我可以告诉你,它们肯定是填充的,因为我可以在屏幕上看到它们的内容。
@ManagedBean
public class InsereDocumentoBean implements Serializable {
private static final long serialVersionUID = 1L;
private List<String> variableNamesPt = new ArrayList<String>();
private List<Map<String, String>> spotlightPtBindings = new ArrayList<Map<String, String>>();
public List<String> getVariableNamesPt() {
return variableNamesPt;
}
public List<Map<String, String>> getSpotlightPtBindings() {
return this.spotlightPtBindings;
}
public void onSelectedCheckBox(String uri) {
System.out.println("URI: " + uri);
}
}
可能是什么问题?谢谢!我是 JSF 新手,需要您的帮助!
【问题讨论】:
标签: jsf