- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,当我将我的对象保存到数据库时它工作正常,但是当我想从数据库中检索它时不起作用,我正在使用 Omnifaces 的 selectItemsConverter
我有我的对象“Modelo”,里面还有另外两个对象,分别是“Marca”和“Gama”
这些是我的 Java 实体(toString() 用于 Omnifaces):
模型:
private Marca marca;
private Gama gama;
getters and setters...
@Override
public String toString() {
return String.format("%s[codigo=%d]", getClass().getSimpleName(), getCodigo());
}
马卡报:
getters and setters...
@Override
public String toString() {
return String.format("%s[codigo=%d]", getClass().getSimpleName(), getCodigo());
}
Gamma :
getters and setters...
@Override
public String toString() {
return String.format("%s[codigo=%d]", getClass().getSimpleName(), getCodigo());
}
嗯,这是我的 managedBean
模型对象
@ManagedBean
@ViewScoped
public class ModeloBean {
private Modelo modelo = new Modelo();
getters and setters ...
//This is for call the DB to retrieve the value, and works fine, but i cant show the preselected value to the xhtml
public void leer(Modelo mo) throws Exception {
ModeloDAO dao = new ModeloDAO();
try {
this.init();
this.modelo = dao.leer(mo);
} catch (Exception e) {
throw e;
} finally {
dao = null;
}
}
这是我的 xhtml 页面我有一个对话框,我用它来保存和更新对象
<p:dialog id="dlgDatos" widgetVar="wdlgDatos" modal="true" appendToBody="true" header="#{modeloBean.accion}" draggable="false" resizable="false">
<h:form>
<h:panelGrid columns="2">
<p:outputLabel value="Marca" />
<p:selectOneMenu value="#{modeloBean.modelo.marca}" converter="omnifaces.SelectItemsConverter" filter="true" filterMatchMode="startsWith" required="true">
<f:selectItem itemLabel="Seleccione" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{marcaBean.lstMarcasVigentes}" var="marca" itemLabel="#{marca.nombre}" itemValue="#{marca}" />
</p:selectOneMenu>
<p:outputLabel value="Gama" />
<p:selectOneMenu value="#{modeloBean.modelo.gama}" converter="omnifaces.SelectItemsConverter" filter="true" filterMatchMode="startsWith" required="true">
<f:selectItem itemLabel="Seleccione" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{gamaBean.lstGamasVigentes}" var="gama" itemLabel="#{gama.nombre}" itemValue="#{gama}" />
</p:selectOneMenu>
<p:outputLabel for="txtNombre" value="Modelo" />
<p:column>
<p:inputTextarea id="txtNombre" value="#{modeloBean.modelo.nombre}" />
<p:watermark for="txtNombre" value="Para registrar varios modelos, sepárelos por comas (,)" />
</p:column>
<p:outputLabel value="Vigencia" rendered="#{modeloBean.accion eq 'Modificar'}"/>
<p:selectBooleanCheckbox value="#{modeloBean.modelo.vigencia}" rendered="#{modeloBean.accion eq 'Modificar'}"/>
<p:commandButton value="#{modeloBean.accion}" actionListener="#{modeloBean.operar()}" oncomplete="PF('wdlgDatos').hide(); PF('wdtLista').clearFilters();" update=":frmLista:dtLista, :msj"/>
<p:commandButton value="Cancelar" immediate="true" onclick="PF('wdlgDatos').hide();"/>
</h:panelGrid>
</h:form>
</p:dialog>
selectOneMenu 可以很好地保存,但更新时只检索字符串值而不是组合框的预选值
这是只检索字符串值“105”的对话框,因为它是一个字符串,我的复选框“Vigencia”的 boolean 值不是我的组合框值。我哪里错了?
最佳答案
我解决了将它添加到我的实体(hashCode 和 equals)
@Override
public int hashCode() {
int hash = 5;
hash = 83 * hash + this.codigo;
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Modelo other = (Modelo) obj;
if (this.codigo != other.codigo) {
return false;
}
return true;
}
关于java - SelectItemsConverter Omnifaces 预选对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463253/
我有一个问题,当我将我的对象保存到数据库时它工作正常,但是当我想从数据库中检索它时不起作用,我正在使用 Omnifaces 的 selectItemsConverter 我有我的对象“Modelo”,
我正在尝试在我的应用程序中创建一个 selectManyCheckbox 功能,但现在我遇到了“转换器问题”。为了解决这个问题,我正在尝试使用已经有对象转换器的 Omnifaces。 我的解决方案基于
我正在尝试将 SelectItemsConverter 与 PrimeFaces Picklist 结合使用。 XHTML: Vorjahr
我是一名优秀的程序员,十分优秀!