上手Click的第一个陷阱
刚刚部署完我的第一个Click实例,极其简单的类HelloWorld实例,却折腾了我一上午。赶紧写下这个历程。
首先要赞叹一下Click框架的文档(不是功能),这是我见过的官方文档、API最丰富最详细的一个框架了。才出来的东西,文档却做到这么好,在开源的世界里真难得。
我遇到的陷阱很简单:根据文档的QuickStart,我的home.htm总是找不到,总是显示默认的not-found.htm页面。先从头到尾找了遍官方文档,没提到这问题;再谷歌一下,这下新框架的弊病出来了,没人用就没人写心得……我在click的配置文件中打开了debug模式,发现我的home.htm没找到我添加的Table映射:
[Click] [debug] automapped pages:[Click] [debug] /home.htm ->CLASS NOT FOUND
[Click] [debug] /click/error.htm -> CLASS NOT FOUND
[Click] [debug] /click/not-found.htm -> CLASS NOT FOUND
?怎么会呢?除了类的命名,我完全按照文档来的啊,并在我的home.htm页面中加入了$labsInfo(Table类型的映射)。怎么就找不到呢。结果试了好久发现问题就出在类的命名上!!!经过实验,发现要使用Click的映射功能,必须保证类名和htm页面名配套。比如在home页面上用到的映射变量,必须出现在指定包的home类或homePage类中!改后就正常了:
?
[Click] [debug] automapped pages:[Click] [debug] /LabsInfo.htm -> rc.yuzone.page.user.LabsInfoPage
[Click] [debug] /click/error.htm -> CLASS NOT FOUND
[Click] [debug] /click/not-found.htm -> CLASS NOT FOUND
?另外,我发现如果不在Click配置文件中作相应的配置,那么只要是被servlet捕获的页面,框架都会默认将没有进行映射的页面转向not-found.htm页面。(提示:修改click.xml的mode标签或Pages标签)
1 楼 zingers 2009-05-10 呵呵,顶click,用的挺爽 2 楼 smartzxy 2009-05-10 zingers 写道呵呵,顶click,用的挺爽
怎么往Table里添加数据的啊?example里的方法好烦啊,有没有最简单的方式? 3 楼 zingers 2009-05-10 麻烦事情不会少,我刚才还卡壳了 ,一个问题 ,NND 4 楼 zingers 2009-05-10 setRowlist,直接添加pojo list 5 楼 LeeYee 2009-08-06 在click的帮助文档 Page Automapping 一章里有描述自动映射(automapping)时,能自动找到类的集中形式:
change-password.htm => ChangePassword
change_password.htm => ChangePassword
changePassword.htm => ChangePassword
ChangePassword.htm => ChangePassword
customer.htm => CustomerPage
change-password.htm => ChangePasswordPage
只要符合以上集中格式的都可以映射到