Struts2 jQuery plugin - submit button

2019-03-06 22:47发布

问题:

I have Struts2 jQuery plugin submit button, when click the button its not firing the action class as struts submit button. I need to keep the same page after click the button.Please look into below code difference.

Struts submit button - Working good

<s:form action="product!list" id="searchForm" theme="simple" method="Post">
     <s:submit action="product" method="list" value="Find" />
</s:form>

Converting struts submit to struts-jquery submit submit button - Not Working good

<s:form action="product!list" id="searchForm" theme="simple" method="Post" >     
     <sj:submit />
</s:form>

if using only form action <sj:submit/> , the page the refreshing and working as Struts tag, but it should not be.

回答1:

In order <sj:submit> to work properly targets attribute must be set to some value and form must have id attribute.

<s:form action="product!list" id="searchForm">     
  <sj:submit targets="results"/>
</s:form>


回答2:

You should include <sj:head/> tag in the body of the <head>. This tag links JQuery and stylesheet on the page and other initial things, without it Ajax call has not made and as a result page refreshes. See examples of submitting tag 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>