2012-09-21 16 views
0

Grails中使用自定义URL映射的人们所期望的以下行为:可选属性的过滤基于PARAMS 所有g.createLink和g.link默认做在Urlmappings.groovy逻辑上。其余的页面参数被忽略为特定的url不相关。Grails的GLINK可选PARAMS属性过滤不是基于定制urlMappings

其实这并没有发生。而解决方法是手动提供的所有链接参数:

<g:link action="action" controller="controller" params="[duplicated entries from url mappings]">my custom params link mapped in UrlMappings</g:link>

案例页面PARAMS作为URL completelly通过PARAMS的一个变与自定义映射加页则params的其余一个奇怪的网址。

回答

1

没有重复。您需要定义什么参数在您的路径中定义(只是占位符)。如果您生成链接,则需要为这些参数提供。这些值不能自动派生。

你唯一能做的就是用namedMappings美化符号。这样做的好处是,如果您忘记传递一些必需的变量,则至少会得到一条错误消息。

或者你自己定义链接tag,它会自动从全球params地图过滤。

+0

在** UrlMappings **中,params是占位符,它们是** params **对象,它们是Map 。如果占位符与密钥相同,默认情况下使用匹配参数替换它们的瑕疵是什么。 –

+0

会有太多的碰撞。我不确定哪个web框架的行为如此。 – Chris