Как закодировать параметр с URL-адресом в стойках?
Вопрос
На странице отображается список книг.Когда пользователь щелкает книгу, открывается страница ее сведений.Теперь проблема в том, что мне нужно закодировать идентификатор каждой книги с URL-адресом страницы сведений.
Ссылка на страницу сведений: /loadDetailForm.do.Если у книги идентификатор = 23, ссылка должна выглядеть как /loadDetailForm.do?id=23.
Я вставляю код здесь:
<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>
Спасибо
Решение
Вы можете указать карту параметров, которые тег struts добавит к URL-адресу.
Видеть http://struts.apache.org/1.2.x/userGuide/struts-html.html#link
Посмотрите на paramId
, paramName
и paramProperty
атрибуты.
<html:link action="/loadDetailForm"
styleClass="btn_blue"
paramId="id"
paramName="book"
paramProperty="id">
<bean:write name="book" property="title"/>
</html:link>
Альтернативой может быть использование библиотеки тегов JSTL.
<c:url value="expression" context="expression"
var="name" scope="scope">
<c:param name="param1" value="${thing.id}"/>
...
</c:url>
Не связан с StackOverflow