我有Struts2jQuery插件提交按钮,当点击该按钮时,它不会将操作类作为Struts提交按钮启动。点击按钮后,我需要保持页面不变。请查看下面的代码差异。
Struts提交按钮-工作良好:
<s:form action="product!list" id="searchForm" theme="simple" method="Post">
<s:submit action="product" method="list" value="Find" />
</s:form>
将Struts提交转换为Struts jQuery提交按钮-工作不好:
<s:form action="product!list" id="searchForm" theme="simple" method="Post" >
<sj:submit />
</s:form>
如果只使用表单操作<sj:submit/>
,则页面将刷新并作为Struts标签工作,但不应该是.
为了使<sj:submit>
正常工作,必须将targets
属性设置为某个值,并且表单必须具有id
属性。
<s:form action="product!list" id="searchForm">
<sj:submit targets="results"/>
</s:form>
您应该在<head>
的主体中包含<sj:head/>
标记。这个标签链接页面上的JQuery和stylesheet
以及其他初始内容,没有它Ajax调用就没有进行,因此页面刷新。参见提交标签SubmitTag:的示例
<%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="sj" uri="/struts-jquery-tags"%> <html> <head> <sj:head/> </head> <body> <s:form id="form" action="AjaxTest"> <input type="textbox" name="data"> <sj:submit value="Submit Form" /> </s:form> </body> </html>