Displaytag: Como construir uma URL com mais de um parâmetro

olá pessoal,

Estou usando struts 2 + displaytag para montar o resultado de uma consulta. Num dos campos da tabela, preciso montar um link dinâmico contendo vários parâmetros, no entanto não sei como fazer isso usando a displaytag.

O código da minha tabela é este:

<display:table name="sessionScope.niveis2" class="displaytag" pagesize="20" style="align:center; width:100%"> <display:column property="grupo" title="Grupo"/> <display:column property="servico" title="Serviço"/> <display:column property="descricaoServico" title="Descrição do Serviço" href="cNivel3!listar" paramId="inscricao" paramName="numeroInscricao" paramScope="session"/> <display:column property="quatNota" title="Qtde Item"/> <display:column property="valorTotal" title="Valor Total (R$)"/> <display:column property="valorDesconto" title="Valor Desconto (R$)"/> <display:column property="valorBaseIcms" title="Valor Base Cálculo (R$)"/> <display:column property="valorIcms" title="Valor ICMS (R$)"/> <display:column property="valorIsento" title="Valor Isentas (R$)"/> <display:column property="outro" title="Valor Outros (R$)"/> </display:table>

Até aí ele consegue formar a URL de boa, mas não sei como adicionar novos parâmetros.

Alguém pode me ajudar por favor?

Olá,

Você pode criar um TableDecorator e implementar um método onde o link é montado manualmente. No atributo property da coluna você referencia esta propriedade.

Exemplo:

public class MeuDecorator extends TableDecorator {
     public String getHyperlink() {
          ClasseDaLinha obj = (ClasseDaLinha) getCurrentRowObject;
          String link = "<a href='proximapagina.jsp";
          link += "?param1=" + obj.valor1;
          link += "& param2=" + obj.valor2;
          link += "'>isso e um link</a>";
          return link;
     }
}

Não poderia ser feito assim… ?

onde uid é cada item da sua lista.

<display:table name="sessionScope.niveis2" uid="nivel" class="displaytag" pagesize="20" style="align:center; width:100%">  
...	
	<display:column title="Descrição do Serviço">  
			<a href="url?param1=${nivel.prop1}&param2=${nivel.prop2}">Listar</a>
	</display>
...

Weber MK, muito obrigado… funcionou perfeitamente!!!

gomesrod, não cheguei a testar sua sugestão, mas de qualquer forma valeu pela força.

Obrigado a todos.