我有 Struts 2 jQuery 插件
<sj:submit>
按钮,当我单击该按钮时,它不会像 Struts <s:submit>
按钮那样触发操作类。单击按钮后我需要保持同一页面。
请查看以下代码差异:
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 <s:submit>
标签工作,但事实并非如此。
为了
<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>