Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 在glink标记的id属性中添加多个值_Grails_Gsp - Fatal编程技术网

Grails 在glink标记的id属性中添加多个值

Grails 在glink标记的id属性中添加多个值,grails,gsp,Grails,Gsp,是否可以在glink标记的id属性中添加多个值 我想得到一个url,比如:/place/view/home/7?(////?params) 是否可以使用glink标记?如果我正确理解您要查找的是params选项 <g:link controller="cname" action="act" id="1" params="[sort: 'title']" /> 我在Grails v2.4.3中使用了以下解决方案: 在UrlMappings.groovy中,我添加了: static m

是否可以在
glink
标记的
id
属性中添加多个值

我想得到一个url,比如:
/place/view/home/7?
(////?params)


是否可以使用
glink
标记?

如果我正确理解您要查找的是
params
选项

<g:link controller="cname" action="act" id="1" params="[sort: 'title']" />

我在Grails v2.4.3中使用了以下解决方案:

在UrlMappings.groovy中,我添加了:

static mappings = {
    ...
    name dualId: "/$controller/$action/$id/$id2?(.$format)?" {}

    /* Usage:
     *  <g:link mapping="dualId" action="myMethod" params='[id2: "${id2Value}"]'>
     *    Accept id AND id2
     *  </g:link>

     *  Generates following link in the UI: 
     *    <a href="/myController/myMethod/142/387">Accept id AND id2</a>
     *  SPECIAL NOTE: params='[id2: "${id2Value}"]' works.
     *    using: params="[id2: '${id2Value}']" DOES NOT WORK!
     */
    ...
}
静态映射={
...
名称dualId:“/$controller/$action/$id/$id2”(.$format)?”{}
/*用法:
*  
*接受id和id2
*  
*在UI中生成以下链接:
*    
*特别注意:params='[id2:${id2Value}]'有效。
*使用:params=“[id2:'${id2Value}']”无效!
*/
...
}
对于您的要求,“/place/view/home/7”(////?params)”,您可以使用:

static mappings = {
    ...
    name placeViewHome: "/$controller/$action/$name/$id?" {}

    /* Usage:
     *  <g:link mapping="placeViewHome" action="myAction" params='[name: "${nameValue}", q: "str"]'>
     *    Accept name AND id
     *  </g:link>

     *  Should generate the following link in the UI: 
     *    <a href="/myController/myMethod/myName/387?q=str">Accept name AND id</a>
     *  I didn't try it, but you should be able to add in other params and I would expect them to appear after the question mark as usual.
     */
    ...
}
静态映射={
...
name placeViewHome:“/$controller/$action/$name/$id?”{}
/*用法:
*  
*接受名称和id
*  
*应在UI中生成以下链接:
*    
*我没有尝试过,但您应该能够添加其他参数,我希望它们像往常一样出现在问号之后。
*/
...
}
有关更多详细信息,请参阅Grails文档


注:在G:Link中,引号的顺序很重要,单引号中的双引号有效,但不是相反的。

或者甚至是,我知道这个解决方案,但是我想要一个谷歌友好的URL,因为没有PARAMS。HMM.然后考虑使用嵌入的变量<代码> URL映射< /代码>