URL是Web app中很重要的部分,在router部分介绍过URL中pattern与controller的关系,在这节将详细介绍Clouda中URL的格式和使用。
Clouda中URL的组成格式如下:
- 域名/{controller}/{arguments[1]}/{arguments[2]}/...?params1=string¶ms2=string
-
controller
与router中的pattern对应
-
arguments
URL中的传递参数
-
params
与controller中使用env.redirect(queryPath ,paramMap)传递的paramMap对应
一个URL格式的实例:
- URL: localhost:8080/debug.html/studentList/index/123/007?p=2
对应router定义为:
- sumeru.router.add{
- {
- pattern: '/studentList/index',
- action: 'App.studentList'
- }
- }
上面介绍了Clouda中URL的组成规则,那么Clouda是如何解析URL呢?下面介绍Clouda的解析方法。
-
自动匹配到 /controller是/studentList/index
-
将后面的参数 /123/007 作为 arguments传入env.arguments
-
将p传入session和controller的params参数中
在上面的实例中看到URL中带有参数,那么如何获取URL中的参数呢?可按照下面方法获取:
-
env.arguments["/studentList/index","123","007"]
-
session.get('p')或者通过上面Controller之间传参部分中的params.p获取;
一般在开发阶段需要在浏览器中对应用进行debug,看到应用的源码;而在开发完成发布后,不希望别人看到应用的源码,为了满足开发者的这种需求,Clouda有调试模式和正式模式。
-
调试模式
使用debug.html访问进入调试模式,在调试模式下可以看到工程的源码,方便在浏览器中进行调试
- localhost:8080/debug.html/studentList/index/123/007?p=2
-
正式模式
使用index.html访问进入正式模式,在正式模式下看到的是经过编译后代码
- localhost:8080/index.html/studentList/index/123/007?p=2