त्वरित प्रश्न में मान निर्धारित नहीं करता है। SelectOneMenu के साथ काम करते समय यह मेरे साथ नहीं हुआ है। यह मेरा कोड है।पी: selectOneMenu बीन
<h:outputLabel for="listaRegiones" value="Región: " />
<p:selectOneMenu id="listaRegiones" value="#{nuevaProvincia.regionSelect}" required="true">
<f:selectItems value="#{nuevaProvincia.regiones}" />
</p:selectOneMenu>
<p:message for="listaRegiones" />
और यह मेरा समर्थन बीन है। (हालांकि मैं regionSelect
के लिए एक सेटर है) जब भी मैं अपने selectonemenu का मान बदलें, समर्थन सेम में मान सेट नहीं किया जा रहा है:
@ManagedBean(name="nuevaProvincia")
@ViewScoped
public class nuevaProvincia implements Serializable {
public static final long serialVersionUID = 1L;
public nuevaProvincia() throws DAOException {
this.provincia = new Provincia();
this.regiones = new ArrayList<SelectItem>();
ArrayList<Region> regs = new ArrayList<Region>();
try
{
regs = Region.obtenerRegiones();
}
catch(DAOException e)
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Hubo un error: "+e.getMessage(), "Hubo un error: "+e.getMessage()));
}
if(regs.size()>0)
{
for(Region r : regs)
{
SelectItem item = new SelectItem(r.getCodigo(), r.getNombre());
regiones.add(item);
}
this.regionSelect = regs.get(0).getCodigo();
}
else
this.regionSelect = "";
}
public void verificaProvincia() throws DAOException {
provincia.getRegion().setCodigo(regionSelect);
try
{
if(this.provincia.estaCreado())
FacesContext.getCurrentInstance().addMessage("frmIngProvincia:provCodigo", new FacesMessage(FacesMessage.SEVERITY_WARN, "El código de provincia ingresado ya existe.", "El código de provincia ingresado ya existe."));
else
FacesContext.getCurrentInstance().addMessage("frmIngProvincia:provCodigo", new FacesMessage(FacesMessage.SEVERITY_INFO, "El código de provincia ingresado no existe.", "El código de provincia ingresado no existe."));
}
catch(DAOException e)
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Hubo un error: "+e.getMessage(), "Hubo un error: "+e.getMessage()));
}
}
public void insertaProvincia() throws DAOException {
try
{
provincia.getRegion().setCodigo(regionSelect);
provincia.guardar();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Provincia ingresada con éxito", "Provincia ingresada con éxito"));
}
catch(DAOException e)
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Hubo un error: "+e.getMessage(), "Hubo un error: "+e.getMessage()));
throw e;
}
}
//Getters and setters for everything
//Privados
private Provincia provincia;
private String regionSelect;
private List<SelectItem> regiones;
}
समस्या इस प्रकार है। ऐसा क्यों होगा?
यदि आपकी लाइन SelectItem आइटम = नया चयन Item (r.getCodigo(), r.getNombre()); ItemValue के रूप में स्ट्रिंग से कुछ और दे रहा है, आपको एक खराब मान त्रुटि मिलेगी (आप कुछ हद तक गलत होने पर यह देखने के लिए का उपयोग करने का प्रयास कर सकते हैं) –
SelectItem में सेट दोनों मान स्ट्रिंग हैं, और ' 'मुझे कुछ भी नया नहीं बता रहा है। –
क्या आप इस फॉर्म में अन्य फ़ील्ड हैं? यदि हां, तो क्या अन्य फ़ील्ड अपडेट किए गए हैं? –