Pergunta

Uma lista de livros é exibida na página. Quando um usuário clica em um livro, sua página de detalhes é aberta. Agora, o problema é que preciso codificar o ID de cada livro com o URL da página de detalhes.

O link para a página de detalhes é /loadDetailform.do. Se um livro tiver id = 23, o link deve aparecer como /loadDetailForm.do?id=23.

Estou colando código aqui:

<logic:notEmpty name="BrowseForm" property="books">
                <logic:iterate id="book" property="books" name="BrowseForm" type="com.nms.bks.app1.domain.Book">
                        <p><html:link action="/loadDetailForm" styleClass="btn_blue"><bean:write name="book" property="title"/></html:link></p>
                </logic:iterate>
            </logic:notEmpty>

Obrigado

Foi útil?

Solução

Você pode especificar um mapa dos parâmetros que a tag Struts anexará ao URL.

Ver http://struts.apache.org/1.2.x/userguide/struts-html.html#link

Olhe para a paramId, paramName e paramProperty atributos.

<html:link action="/loadDetailForm" 
       styleClass="btn_blue" 
       paramId="id" 
       paramName="book" 
       paramProperty="id">
          <bean:write name="book" property="title"/>
</html:link>

Uma alternativa seria usar a biblioteca de tags JSTL

<c:url value="expression" context="expression"
    var="name" scope="scope">
  <c:param name="param1" value="${thing.id}"/>
  ...
</c:url>

http://www.ibm.com/developerworks/java/library/j-jstl0318/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top