Mapeamento de bytes com Expression Language

0 respostas
ruyoutor

Fala galera!

O pobrema é o seguinte srsrs…,

eu tenho um campo em uma determinada tabela que eu gravo um valor em byte e esses valores vem de uns checkbox de uma página que, são na verdade sete checks um para cada dia da semana cada um tem um valor em bytes (domingo é 1, segunda é 2, terça é 4, quarta é 8, quinta é 16, sexta é 32 e sabado é 64) e com os campos checados eu pego esses valores do lado do servido e somo assim

private int gravaDiaSemana(String[] parameterValues) {
        int diaSemana = 0;
        for (int i = 0; i < parameterValues.length; i++) {
            if (!parameterValues[i].equals("")) {
                diaSemana = diaSemana | Integer.valueOf(parameterValues[i]);
            }
        }
        return diaSemana;
    }

e esse retorno eu gravo no banco. Até ai tudo bem, mas numa consulta quando preciso retornar esse dados para página eu preciso colocar em check os campos que foram marcados anteriormente na hora do cadastro para isso eu teria que fazer uma coisa desse tipo.

<input name="diaSemana" <c:if test="${4 & horario.diaSemana != 0}"> checked </c:if> type="checkbox" id="diaSemana" value="4">  //horario é o objeto que corresponde a tabela do banco

Isso ai que eu fiz dá erro de cara não preciso nem compilar eu só fiz para dar uma noção doque eu quero. Em código java normal séria assim.

if ((4 & horario.diaSemana) != 0){
   System.out.println("OI");
}

Então, eu queria a melhor forma de testar isso eu até já fasso isso de uma forma mais não achei muito bom eu queria fazer nesse seguimento de jstl e Expression Language se houver alguma forma e que não precise usar código java é claro seria bom.

Desde já obrigado.

Criado 27 de fevereiro de 2008
Respostas 0
Participantes 1