1

タグクラウドを作成します。このクラウドでは、いくつかの値を表示します。

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

Now.iには別の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

まず、検索フォームではPOSTではなくGETを使用する必要があります。検索はべき等の操作であり、サーバー側では何も変更されません。

メソッドを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 に答える