Dobry den,
Snažím se pomoci JSF naplnit vice listboxu, které se budou vzajemne ovlivnovat.
Delam to na Websphere 6.0.
Nechova se mi to ale korektne a při zmene prvniho listboxu to hlasi tuto chybu
(ale ne vzdy) :
00000050 jsf E com.sun.faces.context.FacesContextImpl addMessage
Adding Message[sourceId=_id0:select2,summary=Validation Error: Value is not
valid)
Nevite co delam spatne ????
zde je ukazka
JSF stranka:
<f:view>
<BODY><h:form>
<h:selectOneMenu id="select1"
onchange="submit()"
value="#{managedBean.druh}">
<f:selectItems value="#{managedBean.seznamDruhu}"/>
</h:selectOneMenu>
<BR>
-------------------------------------
<BR>
<h:selectOneMenu id="select2">
<f:selectItems value="#{managedBean.seznamZbozi}"/>
</h:selectOneMenu>
<BR>
<BR>
<h:commandButton type="submit"
value="Submit"
action="#{managedBean.vystup}">
</h:commandButton>
</h:form>
</BODY>
</f:view>
ManagedBean:
public class ManagedBean
{
private String aktDruh = "";
private SelectItem[] druhy =
{ new SelectItem("Napoje"),
new SelectItem("Ovoce"),
new SelectItem("Zelenina")};
private SelectItem[] napoje =
{ new SelectItem("Limo"),
new SelectItem("Pivo"),
new SelectItem("Kava")};
private SelectItem[] ovoce =
{ new SelectItem("Jablko"),
new SelectItem("Hruska"),
new SelectItem("Svestka")};
private SelectItem[] zelenina =
{ new SelectItem("Mrkev"),
new SelectItem("Celer"),
new SelectItem("Petrzel")};
public SelectItem[] getSeznamDruhu() {
return(druhy);
}
public SelectItem[] getSeznamZbozi() {
if(aktDruh.equals("Napoje"))
return(napoje);
if(aktDruh.equals("Ovoce"))
return(ovoce);
if(aktDruh.equals("Zelenina"))
return(zelenina);
else return(zelenina);
}
public String getDruh() { return(aktDruh); }
public void setDruh(String zbozi) {
this.aktDruh = zbozi;
}
public String vystup() {
return("vystup");
}
}