[Tapestry4] T 4.1.6 组件冲突问题
yichou
2008-12-17
在一个页面中,同时使用 shell body 和 form 组件的时候。会报一个Dojo的JS错误。
可能是 下面的2个JS冲突了。 <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo.js"></script> <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo2.js"></script> 请教怎么解决? |
|
tapestry
2008-12-17
确定是因为这个原因么,我这里两个js在一个页面,没有报错呀。你在看一下,错误信息贴一下。
|
|
yichou
2008-12-17
我只是估计 确实报Js错误!但是对功能没有影响!
谢谢 tapestry 大哥。明天上个截图! |
|
yichou
2008-12-18
下面是代码
用 shell 和 body 组件是时候 源代码 <html jwcid="@Shell" title="测试"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>测试</title> </HEAD> <body jwcid="@Body"> 测试 </BODY> </html> html源代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <head> <meta name="generator" content="Tapestry Application Framework, version 4.1.6-SNAPSHOT" /> <meta http-equiv="Content-Type" content="text/html;charset=GBK" /> <title>测试</title> <script type="text/javascript">djConfig = {"baseRelativePath":"/assets/static/dojo-0.4.3-custom-4.1.6/","parseWidgets":false,"locale":"zh-cn"} </script> <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo.js"></script> <script type="text/javascript"> dojo.registerModulePath("tapestry", "/assets/static/tapestry-4.1.6"); </script> <script type="text/javascript" src="/assets/static/tapestry-4.1.6/core.js"></script> <script type="text/javascript"> dojo.require("tapestry.namespace"); tapestry.requestEncoding='GBK'; </script> </head> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>测试</title> </HEAD> <body id="Body"> 测试 </body> </html> 在源代码中加上 Form 组建 <html jwcid="@Shell" title="测试"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>测试</title> </HEAD> <body jwcid="@Body"> <form jwcid="@Form"> 测试 </form> </BODY> </html> html源代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta name="generator" content="Tapestry Application Framework, version 4.1.6-SNAPSHOT" /> <meta http-equiv="Content-Type" content="text/html;charset=GBK" /> <title>测试</title> <script type="text/javascript">djConfig = {"baseRelativePath":"/assets/static/dojo-0.4.3-custom-4.1.6/","preventBackButtonFix":false,"parseWidgets":false,"locale":"zh-cn"} </script> <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo.js"></script><script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo2.js"></script> <script type="text/javascript"> dojo.registerModulePath("tapestry", "/assets/static/tapestry-4.1.6"); </script> <script type="text/javascript" src="/assets/static/tapestry-4.1.6/core.js"></script> <script type="text/javascript"> dojo.require("tapestry.namespace"); tapestry.requestEncoding='GBK'; </script> </head> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>测试</title> </HEAD> <body id="Body"> <form method="post" action="/Test,$Form.direct" id="Form"> <div style="display:none;" id="Formhidden"><input type="hidden" name="formids" value="" /> <input type="hidden" name="seedids" value="BrO0ABXdQAE4sc2VydmljZSQwLHBhZ2UkMCxjb21wb25lbnQkMCxjb250YWluZXIkMCxzZXNzaW9uJDAsc3AkMCxTaGVsbCQwLEJvZHkkMCxGb3JtJDA=" /> <input type="hidden" name="submitmode" value="" /> <input type="hidden" name="submitname" value="" /> </div> </form> 测试 <script type="text/javascript"><!-- tapestry.addOnLoad(function(e) { dojo.require("tapestry.form");tapestry.form.registerForm("Form");}); // --></script></body> </html> 上面的页面加载的时候会报JS错误 Could not load 'nls.dojo_zh-cn';last tried '__package__.js' 错误是dojo.js 抛出的。 大哥们 帮忙看看啊! |
|
jimlaren
2008-12-18
我没用shell,你用这个试一下,把shell去掉
<span jwcid="@ScriptIncludes" debugEnabled="ognl:false" browserLogLevel="CRITICAL" /> |
|
yichou
2008-12-18
jimlaren 写道 我没用shell,你用这个试一下,把shell去掉
<span jwcid="@ScriptIncludes" debugEnabled="ognl:false" browserLogLevel="CRITICAL" /> 谢谢 jimlaren 换了之后 错误还是一样! |
|
yichou
2008-12-18
现在已经确定
确实是 <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo.js"></script> <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo2.js"></script> 冲突了 在 生成的HTML源代码中 注释 Dojo2.js 页面就正常了。 现在是问题是,为什么 @Shell @Body 和@Form 一起使用是时候 tapestry会引入 <script type="text/javascript" src="/assets/static/dojo-0.4.3-custom-4.1.6/dojo2.js"></script> 有什么办法解决吗? |
|
wobu20
2008-12-19
我也用4.1.6,@Shell、@Body、@Form一起使用并没有出现任何问题,是否有可能是导入的包有问题呢?
|
|
yichou
2008-12-19
。。。
不会是包的问题! 我们的系统已经完成了,一直都用T4.1.6. |
|
yichou
2008-12-22
没有办法了。。
只能先把 \tapestry-project-4.1.6\src\tapestry-framework\src\descriptor\META-INF\tapestry.js.xml 中的 <set property="formFiles" value="classpath:/dojo-0.4.3-custom-4.1.6/dojo2.js"/> 2去掉了! |
相关讨论
相关资源推荐
- VC++内存泄漏检测方法(1):_CrtSetDbgFlag与_CrtDumpMemoryLeaks,同样适用Qt Creator
- C 和 C++ 程序中的堆栈损坏问题
- 《Windows程序调试(Debugging Windows Programs)》读书笔记(一)
- 《Debugging windows programs》学…
- 关于vue组件引用外部Js数值和方法出现的问题
- ZooKeeper源码解析——学习ApacheZookeeper原理,掌握其核心组件的数据模型、监听通知机制等
- 大数据各组件安装笔记汇总
- Java 的业务逻辑验证框架 fluent-validator
- 国产化操作系统改造实践(未完)
- _CrtSetDbgFlag