1

我创建了一个标签云。在这个云中我显示了一些值。

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

现在。我有另一个jsp,我在其中执行搜索。我有一个输入字段,用户可以在单击按钮时给出一个值并执行搜索。在我尝试的这个特定场合,当用户单击一个值的链接(在云上)以自动发送输入框中的标签值(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

1 回答 1

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>

另外,请注意您的提交输入应该在表单内部,而不是外部。

于 2012-06-04T16:44:53.973 回答