2012-06-04 6 views
1

Создаю облако тегов. В этом облаке я отображаю некоторые значения.Href и облако тегов в JSP

<c:forEach items="${alltags}" var="search"> 
    <a href='${tags.display}'/> 
</c:forEach> 

now.i есть другой JSP, где я perfom в searching.I есть поле ввода, и пользователь может дать значение и выполнить поиск, когда нажмите на кнопку. В этом конкретном случае я пытаюсь, когда пользователь нажимает на ссылку значения (в облаке), чтобы автоматически отправлять значение тега (tags.display) в поле ввода и выполнять поиск.

Зоркий JSP

<form:form method="POST" commandName="search"> 
    <tr> 
    <td><spring:message code="blah"/></td> 
    <td><form:input path="apath" /></td> 
    </tr> 
</form> 

<input type="submit"/> 

Что вы предлагаете мне делать?

ответ

4

Ну, в первую очередь, форма поиска должна использовать GET, а не POST: поиск - это операция идемпотент, которая ничего не изменяет на стороне сервера.

Если вы переключите свой метод на GET и отправьте форму, вы заметите, что URL-адрес, вызываемый формой, выглядит примерно так: http://www.foo.com/app/search?abstracts=<what the user typed>.

Просто сделать ваши ссылки имеют один и тот же HREF, и ссылка будет посылать тот же запрос, как в форме поиска:

<a href="<c:url value="/search"> 
      <c:param name="abstracts" value="${tag.display}"/> 
     </c:url>">${tag.display}</a> 

Кроме того, обратите внимание, что ваш отправить вход должен быть внутри формы, а не снаружи.

+0

+1 для разделения параметров href и поиска, это позволит улучшить поддержку в будущем, если критерии отображения и поиска больше не связаны. – mprabhat

+0

@mprabhat: Ну, я этого не делал, но ты прав. Отображаемое значение может быть, например, i18ned, но поисковик должен полагаться на абсолютный идентификатор или код тега. –

Смежные вопросы