gpt4 book ai didi

jsf - 从 primefaces selectOneMenu 中选择项目不起作用

转载 作者:行者123 更新时间:2023-12-02 07:46:36 25 4
gpt4 key购买 nike

我在从 selectOneMenu 中获取所选项目时遇到问题。
这是我的 JSF 代码:

<h:form id="mainfrm">   
<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">
<h:outputText value="Basic Usage: " />
<p:selectOneMenu id="domaine" value="#{projet.currentDomaines}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{projet.initDomaines()}" var="d" itemValue="#{d}" itemLabel="#{d.libelleDomaine}" />
<p:ajax update="formEquipe" process="mainfrm" event="change" />
</p:selectOneMenu>
</h:panelGrid>

</h:form>

<h:form id="formEquipe">
<h:panelGrid id="display" columns="2" cellpadding="4">
<f:facet name="header">
<p:graphicImage value="/images/cars/xxxx.jpg"/>
</f:facet>

<h:outputText value="Domaine name :" />
<h:outputText value="#{projet.currentDomaines.libelleDomaine}"/>

<h:outputText value="Director :" />
<h:outputText value="#{projet.currentDomaines.nomDirecteur}" />
</h:panelGrid>
</h:form>

似乎一切正常,但我一定遗漏了一些东西...所以我通过将 currentDomaines(对象类型 Domaines)更改为文本(字符串)进行了测试,它起作用了,这是代码:

<h:form id="mainfrm">   
<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">
<h:outputText value="Basic Usage: " />
<p:selectOneMenu id="domaine" value="#{projet.text}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{projet.initDomaines()}" var="d" itemValue="#{d.libelleDomaine}" itemLabel="#{d.libelleDomaine}" />
<p:ajax update="formEquipe" process="mainfrm" event="change" />
</p:selectOneMenu>
</h:panelGrid>
</h:form>

<h:form id="formEquipe">
<h:panelGrid id="display" columns="2" cellpadding="4">
<f:facet name="header">
<p:graphicImage value="/images/cars/xxxx.jpg"/>
</f:facet>

<h:outputText value="Domaine name :" />
<h:outputText value="#{projet.text/>
</h:panelGrid>
</h:form>

这是我的支持 bean:

public class ProjetsBean implements Serializable {

private DomainesService domainesService;

private Domaines currentDomaines;
private String text;


/////////////// setters & getters \\\\\\\\\\\\\\\\\\\
public void setCurrentDomaines(Domaines currentDomaines) {
this.currentDomaines=currentDomaines;
}
public Domaines getCurrentDomaines() {
return currentDomaines;
}

public void setText(String text) {
this.text=text;
}
public Integer getText() {
return text;
}

///////////////// Méthodes \\\\\\\\\\\\\\\
@PostConstruct
public List<Domaines> initDomaines() {
return domainesService.getAllDomaines();
}
}

最佳答案

html 选择框的选择将始终作为字符串返回到服务器。如果您想在 h:selectOneMenu 中使用对象,您需要一个转换器。

有一个关于该主题的综合教程:"Objects in h:selectOneMenu" .

关于jsf - 从 primefaces selectOneMenu 中选择项目不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594477/

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