Taglib Struts2

1 resposta
R

Srs,

Existe uma maneira de minimizar a repetição de código da tag [i]<s:url>[/i] abaixo? Visto que, em minha aplicação, todas são direcionadas para a mesma action. Talvez esteja codificando de forma não-elegante.

Abraço.

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

<s:url id="appAction1" value="mostraAplicativos.action">
	<s:param name="app.name">numero1</s:param>
</s:url>
<s:url id="appAction2" value="mostraAplicativos.action">
	<s:param name="app.name">numero2</s:param>
</s:url>
<s:url id="appAction3" value="mostraAplicativos.action">
	<s:param name="app.name">numero3</s:param>
</s:url>
<s:url id="appAction4" value="mostraAplicativos.action">
	<s:param name="app.name">numero5</s:param>
</s:url>

<sj:a id="app1" href="%{appAction1}" targets="right">
     Numero1
</sj:a><br />
<sj:a id="app2" href="%{appAction2}" targets="right">
     Numero2
</sj:a><br />
<sj:a id="app3" href="%{appAction3}" targets="right">
     Numero3
</sj:a><br />
<sj:a id="app4" href="%{appAction4}" targets="right">
     Numero4
</sj:a><br />

1 Resposta

jyoshiriro
Acredito que era isso que você queria:
<!-- se usar o atributo "action" ao inves de "value" na url, não precisa por o ".action" -->
<!-- o atributo  "id" na url está depreciado. Use "var" -->

	<s:iterator begin="1" end="5" status="st">
		<s:set var="n" value="#st.index+1"/>
		<s:url action="mostraAplicativos" var="url">
			<s:param name="app.name">numero${n}</s:param>
		</s:url>
		<sj:a href="%{url}" targets="right">Numero ${n}</sj:a>
	 <br/>
	</s:iterator>

Espero ter ajudado.

Criado 19 de julho de 2011
Ultima resposta 19 de jul. de 2011
Respostas 1
Participantes 2