Wie man einen Parameter mit einer URL in Streben codieren?
Frage
Eine Liste der Bücher wird auf der Seite angezeigt. Wenn ein Benutzer ein Buch klickt, wird seine Detailseite geöffnet. Das Problem ist jetzt, dass ich jedes Buch-ID mit der Detailseite URL codieren müssen.
Der Link zur Detailseite ist /loadDetailForm.do. Wenn ein Buch id = 23 hat, sollte der Link als /loadDetailForm.do?id=23 erscheinen.
Ich bin Einfügen von Code hier:
<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>
Danke
Lösung
Sie können eine Karte von Parametern angeben, welche die Streben Tag an die URL anhängen wird.
Siehe http://struts.apache.org/ 1.2.x / -Nutzerhandbuch / Streben-Html.HTML # Link
Schauen Sie sich die paramId
, paramName
und paramProperty
Attribute.
<html:link action="/loadDetailForm"
styleClass="btn_blue"
paramId="id"
paramName="book"
paramProperty="id">
<bean:write name="book" property="title"/>
</html:link>
Eine Alternative wäre die JSTL-Tag-Bibliothek zu verwenden,
<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/ Bibliothek / j-jstl0318 /