<rich:datatable>
aの内容を表示するためにa を使用していますList<Map<String, String>
以下のコードでは、spotlightPtBindingsが でList<Map<String, String>
、spotlightbindingがそれぞれの を表していMap<String, String>
ます。最初の列では、各行に対して 1 つのselectBooleanCheckBoxを示しています。selectBooleanCheckBoxがチェックされている場合Map<String, String>
、キー「URI」に対応する値をパラメーターとしてメソッドに送信したいと思います: inserirBean.onSelectedCheckBox(uri)。そのため、この値をui:paramに入れます名前:うり。ここでの問題は、値uriをinserirBean.onSelectedCheckBox(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 -List<Map<String, String>>
名前付きのspotlightPtBindingと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 に不慣れで、あなたの助けが必要です!