[RESOLVIDO] DisplayTag, Struts 2, JBoss... HELP

3 respostas
M

Galera estou aprendendo a mecher com DisplayTag ha um tempo e to com um problema (vários problemas). Tive alguns erros quanto às dependencias, resolvi lendo os topicos de dúvidas de colegas daqui (bendito Google). Acontece que tenho uma dúvida a parte do problema...

Tem como carregar uma propriedade do Action (chamado pelo browser, no Struts2) que foi alimentada com uma ArrayList, dentro do display:table usando a propriedade "name"? Ou ela só carrega se for mandada pra o request usando o setProperty? Q alias... nao da pra fazer usando do Action pra o JSP... através de código inline... só consigo acessar essa propriedade alimentada do Action usando uma tag do "/struts-tags", um por exemplo... eai... tem como Action.lista > JSP.display:table?

A outra é a mesma de um outro colega, meu código de exemplo não funciona, criando uma List e alimentando com String´s, passando pro request, e chamando no display:table... SIMPLESMENTE NÃO FUNCIONA :shock:

O código é esse ai...

<body>
<%
	ArrayList<String> arr = new ArrayList<String>();
	arr.add("Aew");
	arr.add("Aew 2");
	
	System.out.println(arr.toString());
	
	request.setAttribute("hohoho", arr);
%>
<dt:table name="requestScope.arr">
</dt:table>
</body>

Vlw...

3 Respostas

M

Resolvi o “Nothing found to display”, mas agora é impressa uma tabela sem nada dentro das células… alguma dica?

M

Resolvido, novamente!

<body>
<%
	ArrayList<ObjetoModel> arr = new ArrayList<ObjetoModel>();
	arr.add(new ObjetoModel("Aew", "Aewwwww"));
	arr.add(new ObjetoModel("Ow", "Owwwww"));
	arr.add(new ObjetoModel("Yhuw", "Yhuwwwww"));
	
	System.out.println(arr.toString());
	
	request.setAttribute("hohoho", arr);
%>
<dt:table name="requestScope.hohoho" />
<dt:table name="requestScope.hohoho">
	<dt:column title="Nome" property="nome"></dt:column>
	<dt:column title="Descrição" property="descricao"></dt:column>
</dt:table>
</body>

O ObjetoModel é um POJO normal com dois atributos do tipo String privados... nome e descricao. Um construtor personalizado é bom, já que agiliza a inserção na lista.

Mas minha dúvida ainda permanesce: como acessar um elemento alimentado de uma Action, dentro do JSP (sem usar a struts-core, usando apenas código imerso)? Pra que assim se possa fazer um "request.setAttribute", já que o display:table só funciona assim né...

M

PROBLEMA RESOLVIDO

Well, até q me provem o contrário, não dá pra acessar o elemento do ActionSupport no contexto do JSP. Daí o que q eu fiz? Mandei o elemento pra o URI de dentro da própria Action!

public String execute() throws Exception {
		ListagemLocalIf elemejb = (ListagemLocalIf) EJBLoader.ServicoLocal(EJBTypes.LISTAGEM);
		elem = elemejb.listar();
		
		ServletActionContext.getRequest().setAttribute("elemURI", elem);
		
		return SUCCESS; 
	}

E no JSP...

<dt:table name="elemURI" requestURI="">
		<dt:column title="Nome" property="nome" />
		<dt:column title="Descrição" property="descricao" />
	</dt:table>

Quem tiver dúvidas sobre algum trecho do meu código é só postar q agente ajeita :D

Criado 28 de maio de 2008
Ultima resposta 28 de mai. de 2008
Respostas 3
Participantes 1