我有一个填充了数据库对象的p: selectOneMenu。当页面首先被查找时,selectOneMenu的默认项目必须是字符串类型的“请选择一个”(selectOneMenu的其他项目是对象类型。)当页面首先加载时,数据库中对象类型的一个数据默认可见。我不想this.how在p: selectOneMenu中设置默认项目,例如“请选择一个”和数据库中的对象?
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
template="layout.xhtml">
<ui:define name="pageContent">
<h:form id="silYapilandirmaForm" prependId="true">
<p:panel id="silYapilandirmaPanel" header="#{etiketler.silYapilandirma}" collapsed="true" toggleable="true" >
<p:tabView id="tabView" dynamic="false" activeIndex="0">
<p:tab title="#{etiketler.silIslemleri}" id="silIslemleriTab">
<p:outputPanel id="silIslemleriPanel">
<h:panelGrid id="eshsSecPanelGrid" columns="3" >
<h:outputText value="#{etiketler.eshsSertifika}:*" />
<p:selectOneMenu id="silYapilandirmaSelect" value="#{silYapilandirmaView.seciliEshsSertifika}" effect="fade" effectDuration="100" style="width: 205px" converter="#{entityConverter}">
<f:selectItem itemLabel="Please select one" itemValue="#{null}"/>
<f:selectItems value="#{silYapilandirmaView.eshsSertifikaList}" var="eshsSertifika"
itemLabel="#{eshsSertifika.sertifikaKodAdi}" itemValue="#{eshsSertifika}" />
<p:ajax process="@this" event="change" update="eshsSecPanelGrid,silIslemleriPanel" listener="#{silYapilandirmaView.addListener()}" />
</p:selectOneMenu>
<h:outputText value=""/>
<h:outputText value="#{etiketler.eshsSertifika}:" />
<h:inputText value="#{silYapilandirmaView.seciliEshsSertifika.sertifikaKodAdi}" disabled="true" size="30"/>
<h:outputText value=""/>
<h:outputText value="#{etiketler.silUretimBaslangicSaati}:* " />
<p:inputMask id="silUretimBaslangicSaatiInputMask" value="#{silYapilandirmaView.seciliEshsSertifika.silUretimBaslangicSaati}" mask="99:99:99" size="30" />
<p:message for="silUretimBaslangicSaatiInputMask" display="text" />
<h:outputText value="#{etiketler.silUretimBaslangicPeriyodu}:* " />
<p:inputMask maxlength="4" mask="99?99" id="periyotInputMask" size="30" value="#{silYapilandirmaView.seciliEshsSertifika.silUretimPeriyodu}" >
</p:inputMask>
<p:message for="periyotInputMask" display="text" />
</h:panelGrid>
</p:outputPanel>
</p:tab>
</p:tabView>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
我在p:selectOneMenu的p:ajax中有addListener方法。这种方法是这样工作的;您正在从selectOneMenu中选择一个对象,该对象被放入填充selectOneMenu的列表的最后一个索引中,列表最后一个索引中的对象被放入所选对象的索引中。我的意思是你正在选择一个对象,这个对象在列表中的索引是2。我们说,列表中总共有五个对象。索引为2的选定对象放在列表的索引4中。列表索引4中的对象放在列表的索引2中。我为我的英语感到抱歉。此addListener方法的目的是,selectOneMenu始终显示列表的最后一项。无论选择哪个对象,它都会显示列表的最后一项。因此,由于这种方法,我选择的对象被放在列表的最后一个,并向用户显示为已选择。这种方法效果很好。但当页面首先加载时,列表的最后一项显示为p:selectOneMenu中的selected,我希望“please select”显示为默认值。“我的bean类是SilYapilandirmaView.java
@ManagedBean
@ViewScoped
public class SilYapilandirmaView extends BaseView implements Serializable {
@ManagedProperty("#{commonService}")
private CommonService commonService;
private EshsSertifika seciliEshsSertifika;
private List<EshsSertifika> eshsSertifikaList;
@PostConstruct
public void init() {
seciliEshsSertifika=new EshsSertifika();
eshsSertifikaList = (List) commonService.hepsiniGetir(EshsSertifika.class);
seciliEshsSertifika = eshsSertifikaList.get(eshsSertifikaList.size() - 1);
}
public CommonService getCommonService() {
return commonService;
}
public void setCommonService(CommonService commonService) {
this.commonService = commonService;
}
public void addListener() {
if(seciliEshsSertifika ==null)
{
return;
}
int i = 0;
for (EshsSertifika eshsSert : eshsSertifikaList) {
if (seciliEshsSertifika.getId() == eshsSert.getId()) {
eshsSert = eshsSertifikaList.get(eshsSertifikaList.size() - 1);
eshsSertifikaList.set(i, eshsSert);
eshsSertifikaList.set(eshsSertifikaList.size() - 1, seciliEshsSertifika);
break;
}
i++;
}
}
public EshsSertifika getSeciliEshsSertifika() {
return seciliEshsSertifika;
}
public void setSeciliEshsSertifika(EshsSertifika seciliEshsSertifika) {
this.seciliEshsSertifika = seciliEshsSertifika;
}
public List<EshsSertifika> getEshsSertifikaList() {
return eshsSertifikaList;
}
public void setEshsSertifikaList(List<EshsSertifika> EshsSertifikaList) {
this.eshsSertifikaList = EshsSertifikaList;
}
}
当我在init()方法中添加以下代码时,我的代码工作得非常好!secilieshsertifika=null;
public void init() {
seciliEshsSertifika=new EshsSertifika();
eshsSertifikaList = (List) commonService.hepsiniGetir(EshsSertifika.class);
seciliEshsSertifika = eshsSertifikaList.get(eshsSertifikaList.size() - 1);
seciliEshsSertifika=null;
}
加载页面时,“please select one”在p:selectOneMenu中可见,但我不想使“secilieshsertifika”对象等于null。,还有其他人想出另一个解决方案吗?
试试这个。获取您要设置第一个项目的对象。(这个例子我得到列表中的第一个对象)
bean.java
EshsSertifika firstItem = eshsSertifikaList.get(0);
xhtml
<f:selectItem itemLabel="#{eshsSertifika.firstItem.sertifikaKodAdi}" itemValue="#{eshsSertifika.firstItem}" />
我使用< code>Liquibase更新我的数据库,并对< code>H2进行测试。 我正在使用来配置属性。我使用 连接到数据库,但没有成功。 我意识到在,所以我尝试将默认模式设置为 但这没有成功,我看到日志是 如何在 H2 中设置默认架构和数据库名称?
在我的quarkus应用程序中有两个命名的数据源,我们称之为A和B: Quarkus.datasource.a.db-kind=Oracle Quarkus.datasource.b.db-kind=Oracle 因此,每次应用程序启动时,我都会收到这样的通知: 警告:无法确定默认数据源的数据库类型
我在谷歌上搜索了一下,没有找到任何关于这个的信息。 我有这个密码。 有这样的数据 输出是这样的。 如何将数据中的第一个选项设置为默认值,以便得到如下结果。
我在下面试过了,但它们不起作用 我检查了下面的链接:Kotlin等价于Java的字符串[]是什么? https://kotlinlang.org/docs/functions.html
问题内容: 我在同一包中有2个班级。这两个类都具有main方法。现在,我想构建一个jar文件。我想建立2个jar文件,这些文件使用不同的主要功能作为默认主要功能。 例如 如何在NetBeans IDE中进行操作? 我找到了答案。您可以在netbeans中轻松地做到这一点:1)右键单击项目>属性>运行>选择类frm并下拉列表。在netbeans中是如此简单。Netbeans摇摇欲坠! 问题答案: 在
问题内容: 我在使用react-select时遇到问题。我使用redux表单,并且使我的react-select组件与redux表单兼容。这是代码: 这里是我如何渲染它: 但是问题是我的下拉菜单没有我希望的默认值。我做错了什么?有任何想法吗? 问题答案: 我猜你需要这样的东西: