Como apresentar uma concatenação em uma tag <s: select>

9 respostas
M

Pessoal,
como faço para apresentar em uma tag <s:select> o valor de duas strings concatenadas?
ex.: eu tenho armazenado no banco os atributos, SIGLA e ESTADO, preciso que apareça no select, SIGLA - ESTADO (BA - BAHIA).
Alguém sabe como faço isso?

9 Respostas

natureza

Eu criaria um transient.

E retornaria o sigla e estado ex:

private transient String concatenado;
	
	public String getConcatenado() {
		return getSigla() + getEstado();
	}

	public void setConcatenado(String concatenado) {
		this.concatenado = concatenado;
	}

Ai no <s:select> você chama este concatenado !

Espero ter ajudado.

M

Mas essas informações vem do banco. Eu adiciono esse atributo na classe mesmo?
Lembrando que essa classe está mapeada.

vinicius.martinez

Se for struts2, na propriedade “value”, voce concatena normalmente

<s:select value="obj.siga - obj.estado">
M

o select está assim:

<s:select list="unidades"
listKey="id"
listValue="Unidade.cgc - Unidade.sigla"
headerKey="0"
headerValue="Selecione"
name="aniversariante.unidade.id"
id=“unidade” cssStyle=“width:130px”/>

Está certo?

vinicius.martinez

testa ue…

e posta o resultado…se não for o esperado…

mosstra o html que ele gera

M

funcionou não. Não carrega nada no select.

vinicius.martinez

eo html … ?

Cara…acho que voce esta fazendo uma confusao muito grande…

Coloca o código da action e o método que a mesma invoca

M

Código da Action:

public String cadastrar() throws Exception {
        Session session = HibernateUtil.getSession();
        getAniversarianteDao().setSession(session);
        getUnidadeDao().setSession(session);

        FormatoData formatador = new FormatoData();

        if (getUnidade() != null && getUnidade().getId() != null) {
            setUnidade(getUnidadeDao().getById(getUnidade().getId().longValue()));
        }

        if (aniversariante != null && aniversariante.getId() != null) {
            Long id = getAniversariante().getId();
            Aniversariante niver = getAniversarianteDao().getById(id);
            setAniversariante(niver);
        }

        if (aniversariante != null && aniversariante.getDataNascimento() != null) {
            dtNascimento = formatador.getFormatoDataSimples(aniversariante.getDataNascimento().getTime());
        }
    
        setUnidades(getUnidadeDao().listOrderAsc("nome"));
        return "cadastrar";
    }

Action no Struts 2:

<action name="aniversariante_cadastrar" method="cadastrar" class="br.com.teste.actions.AniversarianteAction">
            <result name="cadastrar" type="tiles">aniversariante.cadastrar</result>
        </action>

Para chegar até o método eu clico em um botão que tem a funcão de inserir um novo cadastro, ao clicar ele chama o método cadastrar da action.

M

Pessoal,

consegui aqui, usando o Transient.
Valeu!

Criado 12 de janeiro de 2010
Ultima resposta 12 de jan. de 2010
Respostas 9
Participantes 3