Как закодировать параметр с URL-адресом в стойках?

StackOverflow https://stackoverflow.com/questions/1388091

  •  21-09-2019
  •  | 
  •  

Вопрос

На странице отображается список книг.Когда пользователь щелкает книгу, открывается страница ее сведений.Теперь проблема в том, что мне нужно закодировать идентификатор каждой книги с 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>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top