有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Struts2 jQuery插件提交按钮

我有Struts2jQuery插件提交按钮,当点击按钮时,它不会像StrutsSubmit按钮那样触发action类。单击按钮后,我需要保留相同的页面。请查看下面的代码差异

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标记工作,但不应显示


共 (2) 个答案

  1. # 1 楼答案

    您应该在<head>的主体中包含<sj: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>
    
  2. # 2 楼答案

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

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