我有 Struts 2 jQuery 插件提交按钮,当单击该按钮时,它不会像 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>
您应该在
<sj:head/>
的正文中包含 <head>
标签。该标签链接页面上的 JQuery 和 stylesheet
以及其他初始内容,没有它,Ajax 调用不会进行,因此页面会刷新。查看提交标签的示例<sj:submit>
:
<%@ 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>