gpt4 book ai didi

jsf - 如何使用 JSF 的 h :selectBooleanCheckbox with h:dataTable to get selected checkboxes without submitting the page content?

转载 作者:行者123 更新时间:2023-12-04 22:43:35 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个 h:datatable,其中包含车辆数据和 h:selectBooleanCheckBox 在它的每一行中。我想知道支持 bean 中数据表数据表行中的选定复选框,而不应用任何提交按钮。这样做的想法是;当任何用户单击一个应用程序页面中的复选框时,他/她都可以轻松地在其他页面中看到选定的行,因为每个页面中的数据表都包含许多车辆。因此,用户可以在任意页面看到选中的车辆,并进行相关操作。

以下显示了我的 JSF 页面的一部分。

<rich:dataTable id="vehicleTable" var="vhcl" value="#{mainPage.vehicleList}"
binding="#{mainPage.vehicleTable}" >
<rich:column id="col_sel" width="10px"
<h:selectBooleanCheckbox title="#{general.showOnMap}" onclick="showOnMap(this)" id="selectedCheckBox" />
</rich:column>
<rich:column id="trackId" label="#{general.vehicleName}" >
<f:facet name="header">
<h:outputText value="#{general.vehicleName}" id="state_name" />
</f:facet>
<h:outputText value="#{vhcl.vehicle.mtsTrackId}" id="vehicleId" title="#{general.vehicleId}" style="font-size:10px; color:blue;" />
<br/>
<h:outputText value="#{vhcl.vehicle.vehiclePlate}" id="vehiclePlate" title="#{general.licencePlate}" style="font-size:10px; color:blue"/>
</rich:column>
<rich:column id="type_col" label="#{general.vehicleType}" >
<f:facet name="header">
<h:outputText value="#{general.vehichleType}" id="vehichleTypeLabel" />
</f:facet>
<h:graphicImage value="#{vhcl.typeImage}" height="40" width="40" align="left"/>
<h:panelGrid columns="1" align="right">
<h:graphicImage id="statusImage" value="#{vhcl.statusImage}" title="#{vhcl.status}" height="15" width="15" />
<h:graphicImage id="motorStatusImage" value="#{vhcl.motorStatusImage}" title="#{vhcl.motorStatus}" height="15" width="15" />
</h:panelGrid>
</rich:column>
<rich:column id="msg_col" label="#{general.lastMessageDate}" >
<f:facet name="header">
<h:outputText value="#{general.lastMessageDate}" id="lastMsgDateLabel" />
</f:facet>
<h:outputText value="#{vhcl.messageDate}" id="lastMsgDate" />
<br />
<h:outputText value="Hız: " />
<h:outputText value="#{vhcl.instantSpeed}" id="lastSpeed" style="color:blue; font-weight:bold" />
<h:outputText value="km/s" />
</rich:column>
<rich:column id="addr_col" label="#{general.address}" >
<f:facet name="header">
<h:outputText value="#{general.address}" id="addressLabel"/>
</f:facet>
<h:outputText value="#{vhcl.address}" id="addr" />
<br />
<h:outputText value="#{vhcl.location}" id="location" style="color:blue;" />
</rich:column>

最佳答案

在你的Vehicle类创建一个 Boolean字段并添加 gettersetter像这样的方法。

private Boolean selected;

public Boolean getSelected() {
return selected;
}

public void setSelected(Boolean selected) {
this.selected = selected;
}

然后绑定(bind)你的checkBox到该属性并添加 <a4j:support>标记到 checkBox如下所示。

<h:selectBooleanCheckbox onclick="showOnMap(this)" value="#{vhcl.selected}">
<a4j:support event="onchange" ajaxSingle="true"/>
</h:selectBooleanCheckbox

现在,当您选中或取消选中 checkBox该值被提交给 bean。然后任何时候你都可以找到是否vehicle是这样选择的。

if(vehicle.selected != null && vehicle.selected) {
//vehicle is selected
}

注意:您的表格应该在表格内。

关于jsf - 如何使用 JSF 的 h :selectBooleanCheckbox with h:dataTable to get selected checkboxes without submitting the page content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13623165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com