Comment coder un paramètre avec une URL dans struts?
Question
Une liste de livres est affiché sur la page. Lorsqu'un utilisateur clique sur un livre, sa page d'information est ouvert. Maintenant, le problème est que je dois encoder l'identifiant de chaque livre avec la page de détail url.
Le lien vers la page de détail est /loadDetailForm.do. Si un livre a id = 23, le lien doit apparaître comme /loadDetailForm.do?id=23.
Je suis ici coller le code:
<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>
Merci
La solution
Vous pouvez spécifier une carte de paramètres qui la balise entretoises ajoutera à l'URL.
Voir http://struts.apache.org/ 1.2.x / UserGuide / struts-html.html # lien
Regardez les attributs paramId
, paramName
et paramProperty
.
<html:link action="/loadDetailForm"
styleClass="btn_blue"
paramId="id"
paramName="book"
paramProperty="id">
<bean:write name="book" property="title"/>
</html:link>
Une alternative serait d'utiliser la bibliothèque de balises 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/ bibliothèque / j-jstl0318 /