Prezados,
Estou dando manutenção em um sistema que utiliza Struts 1 e queria atrelar valores do backend na Action ao JSP. Por exemplo:
<html:select styleId="comboTipoSolic" property="tipoSolicitacao">
<html:option value="-1">Selecione</html:option>
<html:optionsCollection property="tiposSolicitacao" value="tipo" label="descricao" />
<html:option value="0">Todos</html:option>
</html:select>
Caso o usuário escolha uma das opções, na minha Action está se transforma em uma enumeração e o fluxo segue. O problema está nas opções “Selecione” e “Todos”. Estes valores estão escritos na mão desse jeito mesmo e na minha action eu comparo o valor do campo a eles escrevendo 0 ou 1 também.
Acontece que se aparece um desenvolvedor mais inexperiente que mude esse valor, quebra a minha lógica. Dessa maneira gostaria de saber se existe um jeito de amarrar esses valores por meio de constantes talvez. Algo que ao invés de utilizar menos um ou zero eu possa escrever “SELECIONE”, onde selecione seria uma constante do tipo int.
Em um projeto usando Servlets, por exemplo, eu criaria uma constante pública na Servlet e a referenciaria por meio de scriplet no valor, algo como abaixo:
E na minha Action ao invés de comparar usando
if(form.getTipoSolicitacao().equals("1")) eu faria if(Integer.parseInt(form.getTipoSolicitacao()) == NomeServlet.SELECIONE).
Com isso qualquer que fosse o valor de Selecione eu não teria problemas.
Em tempo, eu não criaria isso em uma servlet específica, talvez por se tratar de opções genéricas eu as criaria em uma classe utilitária ou em uma BaseServlet da vida que fosse pai de todas as Servlets. Enfim, gostaria de saber como fazer isso no Struts 1.