bem galera estou com um problema com a tag select do struts2. o negocio é o seguinte, eu tenho um formulario simples com campos de texto e um combo, tenho tb meu validadtion.xml da minha action enquanto isso tudo bem… o problema é o seguinte… quando vou chamar a pagina que esta meu formulario o meu select funciona blz mais quando dou um submit no forme e ele vai verificar as validações ele retorna para a pagina exibe todas as mensagens de erros que estão mapeadas do select pra cima e tudo que esta do select pra baixo ele perde e da esse erro.
tag ‘select’, field ‘list’, name ‘administrador.tipoAdministrador.tipoAdm’: The requested list key ‘tipos’ could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
segue o codigo
<s:form action="inserirEditarAdmAction!inserirEditarAdm.action">
<input type="hidden" name="opcao" value="<s:property value="opcao"/>"/>
<s:textfield name="administrador.nome" label="Nome"></s:textfield>
<s:textfield name="administrador.sobrenome" label="Sobrenome"></s:textfield>
<s:select name="administrador.tipoAdministrador.tipoAdm" list="tipos" listKey="id" listValue="nome" label="Tipos"></s:select>
<s:textfield name="administrador.login" label="Login"></s:textfield>
<s:password name="administrador.senha" label="Senha"></s:password>
<tr class="classBg">
<td colspan="2" style="text-align: center;">Endereço</td>
</tr>
<s:textfield name="administrador.endereco.logradouro" label="Logradouro"></s:textfield>
<s:submit value="add" cssClass="classBg"></s:submit>
</s:form>
<validators>
<field name="administrador.nome">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Nome invalido</message>
</field-validator>
</field>
<field name="administrador.sobrenome">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Sobrenome invalido</message>
</field-validator>
</field>
<field name="administrador.login">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Login invalido</message>
</field-validator>
</field>
<field name="administrador.senha">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Senha invalida</message>
</field-validator>
</field>
<field name="administrador.tipoAdministrador.tipoAdm">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Tipo Invalido</message>
</field-validator>
</field>
<field name="administrador.email">
<field-validator type="email">
<param name="trim">true</param>
<message>Email invalido</message>
</field-validator>
</field>
<field name="administrador.endereco.logradouro">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Logradouro invalido</message>
</field-validator>
</field>
</validators>
private Administrador administrador;
private TipoAdministrador tipoAdministrador;
private List<TipoAdministrador> tipos;
public String inserirEditarAdm(){
String opcao = request.getParameter("opcao");
String retorno = INDEX;
if(INSERIR.equals(opcao)){
try {
administrador.setTipoAdministrador(tipoAdministrador);
fachada.inserirAdministrador(administrador);
} catch (EntidadeJaExistenteException e) {
addActionError("Login já existente !!");
retorno = INPUT;
}
retorno = SUCCESS;
}else if(EDITAR.equals(opcao)){
//implementar
retorno = SUCCESS;
}
return retorno;
}