Closed GoogleCodeExporter closed 9 years ago
我起码反对最后一种, /article/* 并不能匹配 /article.nutz
我建议你附上例子, 实在不好理解. 什么叫
"所有参数都是可选的"?
Original comment by wendal1985@gmail.com
on 14 May 2010 at 7:24
/article/.nutz
刚刚试了下,竟然可以这样用...
localhost:8888/abc/find.nutz --查询所有,可以根据name进行查询
localhost:8888/abc/list/xxx.nutz --查询name为xxx的内容
localhost:8888/abc/list/.nutz --这样写有点点不是很舒服
另外,之所以有路径参数,其原因就是想用URL的形式来表示参数
,为什么不能接受没有参数的情况
下还原成原始状态呢?
Original comment by zkgale@gmail.com
on 14 May 2010 at 7:35
在匹配的时候,会首先将路径的扩展名去掉,所以
/article/abc.nutz 同 /article/abc 对于 Mvc 来说没有什么不同
另外,如果你的入口函数是:
@At("/app/*")
public void someFunc(String name, int id){
// TODO ...
}
那么,你必须给出 /app/abc/23 才能正确访问,因为 abc 要赋给
name, 而 23 要赋给 ID
如果你想访问 /app/
也能正常访问到这个入口函数,你需要这么声明:
@At("/app/*")
public void someFunc( @Param("nm") String name,
@Param("id") int id){
// TODO ...
}
这样,你访问 /app/?name=xxx&id=22 也可以,如果你给出的 URL 是
/app/abc/15?name=xxx&id=22
那么路径参数优先, name 会被赋值 abc, id 会被赋值 15
总之,这是一个参数调用,你总得给点什么,Nutz.Mvc
才能为你的入口函数准备参数
Original comment by zozoh...@gmail.com
on 14 May 2010 at 8:58
[deleted comment]
主要问题在于,就算我有帮个参数,但是我什么都不给呢?那么,�
��在框架生成的URL的形式便是:
/article/.nutz (nutz,是在web.xml中进行配置的)
感觉就有点怪异
而我在这里提出的内容是,希望把
/article/.nutz
这种形式,转在
/article.nutz
的形式,而且这样的话与之前的所有功能并没有任何冲突.
然后却更好理解一些
按我说的的话,情况会是这样:
@At("/article/*")
public void article(Long id, String name){
// TODO ...
}
以下形式均合法:
/article.nutz
/article.nutz?id=12&name=xx
/article/12.nutz
/article/12.nutz?id=11&name=xx
突然想到,如果按这种方式的话,是不是就变向的把,@At("/article"
)与@At("/article/*")有机的
结合起来了呢?
而且这样也不至于说访问/article.nutz会报404,并且使这个地方在
使用更圆滑些,是不?
Original comment by zkgale@gmail.com
on 14 May 2010 at 9:25
而且,嘿嘿嘿嘿,如果把这个地方整合了的话,是不是可以把@At("
/article/*")这种语法给去了呢?默
认让@At("/article")来完成它的功能....
嘿嘿嘿嘿嘿嘿,我觉得这样满好的,少种语法,功能却一点不少
Original comment by zkgale@gmail.com
on 14 May 2010 at 9:30
@At("/article/*") 语法是通配
@At("/article") 语法是精确匹配
两个个合并不得。
现在的实现,我们并没有认为路径中的 '/'
同其他字符有什么不同,因此
@At(/article/.nutz) 是不能匹配 /article.nutz 的
另外,说一点题外话:
这里我们并不想做到"让 @At 有最大限度的容忍错误"
我们对于错误的书写是零容忍的。
一种 URL 只有一种 @At 的书写方式,不会让人迷茫
我认为这样会帮你在消除一些潜在的编码错误
我们会保持这里的“僵化”
Original comment by zozoh...@gmail.com
on 21 May 2010 at 3:20
Original comment by zozoh...@gmail.com
on 15 Jul 2011 at 3:21
Original issue reported on code.google.com by
zkgale@gmail.com
on 14 May 2010 at 7:19