Opa
Estou com um problema ao utilizar o ajax4j e tenho o seguinte código na minha JSP:
<a4j:form>
<a4j:region>
...
<tr>
<td class="fonteLabel">Tipo de Carga:</td>
<td colspan="3">
<h:selectOneListbox styleClass="campoTexto" id="tipoCarga" value="#{carga.cargaBean.tipoCarga}" style=" width : 182px;" size="1" disabled="#{carga.desabilitarCampos}" >
<f:selectItems value="#{aplicacao.tipoCarga}" />
<a4j:support action="#{carga.preencherListaCarroceria}" event="onchange" reRender="tipoCarroceria" ></a4j:support>
</h:selectOneListbox>
</td>
</tr>
<tr>
<td class="fonteLabel">Tipo de Caroceria:</td>
<td colspan="3">
<h:selectOneListbox styleClass="campoTexto" id="tipoCarroceria" value="#{carga.cargaBean.tipoCarroceria}" style=" width : 182px;" size="1" disabled="#{carga.desabilitarCampos}" >
<f:selectItems value="#{carga.tipoCarroceria}" />
</h:selectOneListbox>
</td>
...
</a4j:form>
</a4j:region>
Backing-Bean
public Map<TipoCarroceria, String> getTipoCarroceria(){
Map<TipoCarroceria, String> tipoCarroceria = new TreeMap<TipoCarroceria, String>();
if(getCargaBean().getTipoCarga() != null && getCargaBean().getTipoCarga().equals(TipoCarga.AUTOPECAS)){
tipoCarroceria.put(TipoCarroceria.NAODEFINIDO, TipoCarroceria.NAODEFINIDO.name());
tipoCarroceria.put(TipoCarroceria.BAUALUMINIO, TipoCarroceria.BAUALUMINIO.name());
tipoCarroceria.put(TipoCarroceria.CARGASECA, TipoCarroceria.CARGASECA.name());
}
return tipoCarroceria;
e meu JavaBean Carga
@Enumerated(EnumType.STRING)
@Column(name="carroceria")
private TipoCarroceria tipoCarroceria;
public TipoCarroceria getTipoCarroceria() {
return tipoCarroceria;
}
public void setTipoCarroceria(TipoCarroceria tipoCarroceria) {
this.tipoCarroceria = tipoCarroceria;
}
O meu Enum está assim:
public enum TipoCarroceria {
SELECIONARCARGA("Selecione tipo de carga"),
NAODEFINIDO("Selecione tipo de carroceria"),
BASCULANTE("Basculante"),
BAUALUMINIO("Baú de Alúminio"),
BAUISOTERMICO("Baú Isotérmico"),
BAUFRIGORIFICO("Baú Frigorífico"),
CACAMBABROOKS("Caçamba Brooks"),
CANAVIEIRO("Canavieiro"),
CARGASECA("Carga Seca"),
CESTOAEREO("Cesto Aéreo"),
COLETORCOMPACTADOR("Coletor / Compactador"),
ELETRICITARIO("Eletricitário"),
MADEIREIRO("Madeireiro"),
MINERADORA("Mineradora"),
PLATAFORMAGUINCHO("Plataforma de Guincho"),
REBOCADORCOMPACTO("Rebocador Compacto"),
TANQUE("Tanque"),
TRANSPORTEBEBIDAS("Transporte de Bebidas"),
TRANSPORTEDEGAS("Transporte de Gás");
/**
* Tipo de Carroceria
*/
private String tipoCarroceria;
/**
* Construtor padrão
* @param tipoCarroceria
*/
TipoCarroceria(String tipoCarroceria){
this.tipoCarroceria = tipoCarroceria;
}
/**
* Obtém tipo de carroceria
* @return tipoCarroceria
*/
public String getTipoCarroceria() {
return tipoCarroceria;
}
/**
* Modifica Tipo de Carroceria
* @param tipoCarroceria
*/
public void setTipoCarroceria(String tipoCarroceria) {
this.tipoCarroceria = tipoCarroceria;
}
/**
* Retorna String
*/
@Override
public String toString(){
return tipoCarroceria;
}
Se eu deixar o Backing-Bean como Session, funciona numa boa mas se for Request, ele dá esse erro.
Alguém pode me ajudar com este erro de validação?
[]s