请考虑以下Grails URL映射:
class UrlMappings {
static mappings = {
"/something/${foo_id}/" {
controller = "foo"
action = "bar"
}
}
Run Code Online (Sandbox Code Playgroud)
使用g:link.. 生成URL时:
<g:link controller="foo" action="bar" params="[foo_id: 123]">foobar</g:link>
Run Code Online (Sandbox Code Playgroud)
..结果链接看起来像..
<a href="/something/123">foobar</a>
Run Code Online (Sandbox Code Playgroud)
请注意,URL映射中的结尾斜杠将被删除.
但是,URL:s /something/123和/something/123/仍然有效.
由于我正在构建的应用程序的要求,我必须使用"斜杠结束"-version作为主要的URL.理想情况下,我想使URL不以斜杠结尾返回404(以避免规范页面问题).
什么是使Grails创建URL的最佳和最通用的方法:s如上所述,不删除结束斜杠?
解决它的一种方法是手动创建所有URL:但我不想这样做.
不幸的是,grails URL映射机制并不那么复杂.因此,虽然前向URL映射将很好地工作(即从URL到控制器),但必须手动完成反向以实现所描述的结果.
可能最好的方法是创建自己的标签以输出所需的链接.
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |