0

我有 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 标记工作,但不应该如此。

4

2 回答 2

1

为了<sj:submit>正常工作,targets必须将属性设置为某个值,并且表单必须具有id属性。

<s:form action="product!list" id="searchForm">     
  <sj:submit targets="results"/>
</s:form>
于 2013-07-03T09:07:45.333 回答
1

您应该<sj:head/><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>
于 2013-07-03T10:02:42.967 回答