当前位置: 首页 > 知识库问答 >
问题:

尝试使用3.1.10下的g include标签

庾才
2023-03-14

尝试在grails 3.1.10应用程序上使用g:include,似乎:

这似乎通过ok传递id

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

试图传递参数(但似乎没有通过):

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

只是想知道这是否是一种在以后版本中修复的错误,如果是,是哪个版本?

啊,这可能也是以后版本的一个错误,我的参数有一个点

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

当我用. something尝试时,它不返回任何参数

我可以确认这是在grails 3.27下发生的,我将提交一个bug:

假设我们有这样一个控制器:

类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]}"/>

如下所示,3L4L为字段。id不会出现在上述控制器操作的println或render语句中

调试打印

 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]

控制器的html输出:

['id':'1', 'action':'test1', 'format':null, 'controller':'test'] 
['id':'2', 'action':'test1', 'format':null, 'controller':'test'] ----

['action':'test2', 'format':null, 'controller':'test'] 
['action':'test2', 'format':null, 'controller':'test'] 
['fieldId':'5', 'action':'test2', 'format':null, 'controller':'test'] 
['fieldId':'6', 'action':'test2', 'format':null, 'controller':'test']

共有1个答案

马国源
2023-03-14

我还没有在grails 3中尝试过,但是在grails 2中,您必须将params值放在${}中,在您的情况下params="${[' sort.id':'title']}"

 类似资料:
  • 您好,我正在尝试使用Apache Commons Math的标准偏差库。我无法导入该库,因为我在下载zip后找不到jar文件。我是否遗漏了太明显的内容?

  • 这是我上周问的一个问题的更新版本。 我正试图使用SmbFileInputStream将我的Android连接到我的PC上, 但应用程序(在我的平板电脑上)中止,并出现以下错误消息: 我正在使用try/catch,但它不会触发任何异常。 适用的代码如下所示: 当我尝试获取文件列表时,SmbFile不会中止,但sfile.list会中止。 我在一个本地网络上,而不是一个域。 平板电脑可以用另一个应用程

  • 问题内容: 我一直在看代码,并且看到了尝试资源的机会。我以前使用过标准的try-catch语句,看起来它们在做同样的事情。所以我的问题是“ 尝试使用资源”与“尝试捕获 ”之间的区别是什么,哪个更好。 这是尝试使用资源: 问题答案: 尝试使用资源的重点是确保可靠地关闭资源。 当你不使用try-with-resources时,存在一个潜在的陷阱,称为异常屏蔽。当try块中的代码引发异常,而finall

  • 你好,我试图使用JSoup提取嵌套DIV标签中的span标签。下面的代码只是较大代码的一个片段。 我试图提取最后一个SPAN标签中的文本(多伦多C08,莫斯公园,多伦多和120-21-S) 我已经成功地解析了文档的其他部分,但是,我似乎无法隔离这些跨度。代码片段来自一个更大的页面(整页)。我可能使用了错误的方法,但下面是我为捕获父DIV之间的跨度所做的工作(结果在帖子顶部)。 所以现在我有了第一个

  • 注:用Java 25年,用Java FX 2.5小时(差不多)。 我希望能够突出显示鼠标拖动过的GridPane的所有单元格——即与被点击点和当前拖动点包围的矩形相交的所有单元格。如果所有的孩子都是1x1,我可以这样做,但是对于混合大小,我不高兴。 例如,如果第一行有1个1列单元格(A)和1个2列单元格(B ),第二行有1个2列单元格(C)和1个1列单元格(D ),如果我单击A并向下拖动到C中,我

  • 问题内容: 当我尝试使用示例之一提取图像时,在运行时出现以下异常: 这是最后两行中发生异常的代码部分: 问题答案: 在您的lib目录中添加commons-logging-1.1.1.jar或jcl-over-slf4j-1.7.6.jar。