Struts2 的AJAX 效率优化

由于Struts2 使用DOJO0.43(好像是哈)

在使用<s:head theme=ajax/>引入支持的时候。js的读取量很大。

经常的相应时间到10s-20s左右。

并且其JS的调用是由一个拦截器提供的(/struts/*),并行化效果很差。导致js读取时间过长。

为了解决这个问题,首先要将 Jar 文件 struts-core中static下边的数据解压到webroot下,变为本地引用。

而后,调整目录,比如建立个 js/dojo目录。

在从源代码的网页中提取调用实际使用的js,变为你的目录

如:

<script type="text/javascript">
    // Dojo configuration
    djConfig = {
        baseRelativePath: "struts/dojo", <<:::::::::::::::就是要改这里。
        isDebug: false,
        bindEncoding: "UTF-8"
    };
</script>
<script type="text/javascript" src="struts/dojo/dojo.js"></script>    <<:::::::::::::::::::::::::::::还有这里
<script type="text/javascript">
dojo.require("dojo.io.BrowserIO");
dojo.require("dojo.event.topic");
dojo.hostenv.setModulePrefix('struts', 'struts');
dojo.widget.manager.registerWidgetPackage('struts.widget');
dojo.require("struts.widget.Bind");
dojo.require("struts.widget.BindDiv");
dojo.require("struts.widget.BindAnchor");
dojo.require("struts.widget.ComboBox");
dojo.require("struts.widget.StrutsTimePicker")
</script>

相关推荐