我打算在Tapestry 5.4中使用Dojo工具包。我开始使用tapestry quickstart项目并试图包含dojo。但是,我在新的需求机制方面遇到了很多问题。 - 未知类型错误 - require不是函数 - 无法加载dojo模块
webapp目录结构
webapp
+------- mybootstrap
+----------- js (part of tapestry quick start project)
+------- js (js folder I added for Dojo)
+----------- dojo (All dojo files here)
将它与Tapestry 5.3一起使用非常简单 - 包括布局组件中的dojo.js文件。同样的事情在5.4
中不起作用我尝试过使用requirejs data-main属性,但仍坚持使用它。
任何帮助将不胜感激。
答案 0 :(得分:0)
将所有dojo文件放在webapp \ js文件夹中。
您的文件夹结构应该像
UITextView *textInputMultiline = [[UITextView alloc] initWithFrame:frame];
//alloc textInputToolbar (textInputToolbar.retaincount = 1)
TextInputToolbar *textInputToolbar = [TextInputToolbar alloc];
textInputToolbar.textView = textInputMultiline;
if ((self.appDelegate.isTablet)&&([[[UIDevice currentDevice] systemVersion] compare:@"9.0"] != NSOrderedAscending)) {
NSMutableArray *barButtonItems = [NSMutableArray array];
//add button items....
UIBarButtonItem *representativeItem = nil;
//alloc UIBarButtonItemGroup (group.retaincount = 1)
UIBarButtonItemGroup *group = [[UIBarButtonItemGroup alloc] initWithBarButtonItems:barButtonItems representativeItem:representativeItem];
//strong reference group (group.retaincount = 2)
textInputMultiline.inputAssistantItem.trailingBarButtonGroups = [NSArray arrayWithObject:group];
//autorelease group
} else {
//strong reference textInputToolbar.view (textInputToolbar.view.retaincount = 2)
textInputMultiline.inputAccessoryView = textInputToolbar.view;
}
//autorelease textInputToolbar (textInputToolbar.retaincount = 0, textInputToolbar.view.retaincount = 1)
注意:确保您提供对js / *路径的访问权限。所以网址:http://localhost:8080/app/js/dojo/dojo.js可以访问。
在您的tapestry页面(* .tml)中放置一个脚本标记,并使用requireJS使用以下脚本添加dojo模块,
// Folder structure
-webapp
-js
-dojo
-digit
-dojox
就是这样。