Java JSP中的Href和标记云
我创建了一个标记云,在这个云中我显示了一些值Java JSP中的Href和标记云,java,jsp,spring-mvc,Java,Jsp,Spring Mvc,我创建了一个标记云,在这个云中我显示了一些值 <c:forEach items="${alltags}" var="search"> <a href='${tags.display}'/> </c:forEach> 现在,我有了另一个jsp,我在其中执行搜索。我有一个输入字段,用户可以给出一个值,并在单击按钮时执行搜索。在我正在尝试的这个特定场合中,当用户单击某个值的链接(在云上)时,会自动发送输入框中标记的值(tags.display)并进行
<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"/>
您建议我做什么?首先,搜索表单应该使用GET而不是POST:搜索是一个幂等运算,它不会修改服务器端的任何内容 如果切换方法以获取和提交表单,您会注意到表单调用的URL类似:
http://www.foo.com/app/search?abstracts=
只需使您的链接具有相同的href,链接将发送与搜索表单相同的请求:
<a href="<c:url value="/search">
<c:param name="abstracts" value="${tag.display}"/>
</c:url>">${tag.display}</a>
另外,请注意,您的提交输入应该在表单内部,而不是外部。首先,搜索表单应该使用GET而不是POST:搜索是一个幂等操作,它不会修改服务器端的任何内容 如果切换方法以获取和提交表单,您会注意到表单调用的URL类似:
http://www.foo.com/app/search?abstracts=
只需使您的链接具有相同的href,链接将发送与搜索表单相同的请求:
<a href="<c:url value="/search">
<c:param name="abstracts" value="${tag.display}"/>
</c:url>">${tag.display}</a>
另外,请注意,您的提交输入应该在表单内部,而不是外部。+1对于分隔href和搜索参数,如果显示条件和搜索条件不再相关,这将在将来提供更好的可维护性。@mprabhat:我没有这样做,但您是对的。例如,显示的值可以是i18ned,但search应该依赖于绝对标记ID或代码。+1用于分隔href和搜索参数,如果显示条件和搜索条件不再相关,这将在将来提供更好的可维护性。@mprabhat:嗯,我没有这样做,但你是对的。例如,显示的值可以是i18ned,但是search应该依赖于绝对标记ID或代码。