试图在3.1.10下使用g include标签

时间:2017-03-17 20:47:40

标签: grails gsp

尝试在grails 3.1.10 app上使用g:include,似乎:

这似乎通过ok

传递id
<g:include action="show" id="${currentBook.id}" />

尝试传递params(似乎没有任何结果):

<g:include action="list" params="[sort: 'title', order: 'asc',
                                  author: currentBook.author]" />

只是想知道它是否是在以后版本中修复的错误形式,如果是这样的版本?

啊,它也可能是后期版本中的一个bug,我的params有一个点

 <g:include action="list" params="['sort.id': 'title']" />

当我尝试使用.something时,它不会返回任何内容作为参数

E2A

我可以确认它是在grails 3.27下发生的,我会提交一个错误:

假设我们有这样的控制器:

class TestController {

def index() { }

    def test1() {
            println "params are $params"
            render params
    }
    def test2() {
            println "params are $params"
            render params
    }

}

和gsp的索引页面:

   <html>
<head>
    <meta name="layout" content="main"/>
</head>


<g:include action="test1" params="${[id:1L]}"/>
<g:include action="test1" params="[id:2L]"/>
----<br>
<g:include action="test2" params="${['field.id':3L]}"/>
<g:include action="test2" params="['field.id':4L]"/>
<g:include action="test2" params="[fieldId:5L]"/>
<g:include action="test2" params="${['fieldId':6L]}"/>

如下所示,{。1}}和3L是field.id,似乎没有出现在上面的控制器操作的println或render语句中

debug printlns

4L

控制器的Html输出:

 params are [id:1, action:test1, format:null, controller:test]
params are [id:2, action:test1, format:null, controller:test]
params are [action:test2, format:null, controller:test]
params are [action:test2, format:null, controller:test]
params are [fieldId:5, action:test2, format:null, controller:test]
params are [fieldId:6, action:test2, format:null, controller:test]

1 个答案:

答案 0 :(得分:0)

我还没有在grails 3中尝试过,但是在grails 2中你必须在你的${} params="${['sort.id': 'title']}" App_Data/Jobs/Continuous/TheJob中将params值设为{/ 1}}