jquery - Struts2 jQuery配置问题

标签 jquery struts2 struts2-jquery

在我的网络应用程序中,我使用 struts2-jquery 插件。

Struts2 version - 2.3.7
struts.jquery.version - 3.5.0

为了将 jQuery 与 Struts 结合使用,我使用了以下配置 -

在 pom.xml 中

        <dependency>
            <groupId>com.jgeppert.struts2.jquery</groupId>
            <artifactId>struts2-jquery-plugin</artifactId>
            <version>${struts.jquery.version}</version>
        </dependency>

在我的 JSP 中添加了以下标记:

 <sj:head  jqueryui="true"/>

并使用了一个自动完成器小部件,如下所示:

<s:url var="supUrl" namespace="/ajax" action="suppliers"/>
 <sj:autocompleter
    id="supplierMap"
    name="echo"
     label="Handle a Map"
     href="%{supUrl}"
     list="supplierMap"/>

我收到以下 JavaScript 错误:

Cannot call method 'bind' of undefined
jQuery.struts2_jquery_ui.bind(jQuery('#supplierMap_widget'),options_supplierMap_widget);

当我在浏览器中查看页面源代码时,我看到以下内容。这里JavaScript include的路径和struts2-jquery-plugin.jar中打包的路径不一样。

<script type="text/javascript" src="/struts/js/base/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="/struts/js/base/jquery.ui.core.min.js?s2j=3.5.0"></script>
  <script type="text/javascript" src="/struts/js/plugins/jquery.subscribe.min.js"></script>

  <script type="text/javascript" src="/struts/js/struts2/jquery.struts2.min.js?s2j=3.5.0"></script>

<script type="text/javascript">
$(function() {
    jQuery.struts2_jquery.version="3.5.0";
    jQuery.scriptPath = "/struts/";
    jQuery.ajaxSettings.traditional = true;

    jQuery.ajaxSetup ({
        cache: false
    });

    jQuery.struts2_jquery.require("js/struts2/jquery.ui.struts2.min.js");

});
</script>

最佳答案

看,如果您使用 struts2jQuery 插件,则必须在 web.xml 中具有以下 url 模式/* 的过滤器映射

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

休息应该没问题:)

关于jquery - Struts2 jQuery配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195045/

相关文章:

javascript - iframe 加载事件内的 setTimeout 似乎没有按预期等待 x 秒

javascript - 将 .has() 与 keyup 事件一起使用

java - 为什么注销后点击页面上的返回按钮显示上一页内容?

jquery - 使用 strut2 jquery 插件标签将 JSON 对象发送到 Struts 2 操作

javascript - struts2 jquery 表仅显示在第一个选项卡上

jquery - JQGrid : inline editing in client side

javascript - 为什么这个正则表达式接受特殊字符和数字?

java - 如何更改 Struts2 中的默认日期格式?

java - 如何使用 ognl 更改 session 范围属性?

javascript - 使用复选框为字段设置 val()