Reputation: 573
I have Struts 2 jQuery plugin <sj:submit>
button, when I click the button it's not firing the action class, as Struts <s:submit>
button is doing. I need to keep the same page after clicking a 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 <sj:submit/>
only, the page is refreshing and working as Struts <s:submit>
tag, but it should not be.
Upvotes: -1
Views: 2327
Reputation: 1
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 <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>
Upvotes: 1
Reputation: 24406
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>
Upvotes: 1