Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 g:sortableColumn缺少控制器名称(如何将控制器名称传递给g:sortableColumn?)_Grails_Gsp_Grails Domain Class_Grails Controller - Fatal编程技术网

Grails g:sortableColumn缺少控制器名称(如何将控制器名称传递给g:sortableColumn?)

Grails g:sortableColumn缺少控制器名称(如何将控制器名称传递给g:sortableColumn?),grails,gsp,grails-domain-class,grails-controller,Grails,Gsp,Grails Domain Class,Grails Controller,我正在为我的表使用g:sortableColumn,但我得到以下错误: 由UrlMappingException引起:无法创建用于映射的URL [/()/()?/(*)?]和参数[{sort=firstName,order=asc, action=list}]。参数[controller]是必需的,但不是必需的 指定的 这是我的代码: <g:sortableColumn property="firstName" title="FirstName"/> 很明显,当我在另一个G

我正在为我的表使用g:sortableColumn,但我得到以下错误:

由UrlMappingException引起:无法创建用于映射的URL [/()/()?/(*)?]和参数[{sort=firstName,order=asc, action=list}]。参数[controller]是必需的,但不是必需的 指定的

这是我的代码:

    <g:sortableColumn property="firstName" title="FirstName"/>
很明显,当我在另一个GSP页面中使用它时,而不是在链接到控制器的页面中使用它时,我必须传递控制器名称。问题是我不知道如何使用它,而且我不确定它是否与URL映射有关

谢谢你的帮助

我的普惠制代码:

<!doctype html>
<html>
<head>
<meta name="layout" content="main"/>
<g:javascript library="jquery" plugin="jquery" />
<title>Welcome to Grails</title>
</head>
<body>
 <div class="topnav">
  <p style="color: white">Top Nav</p>
 </div>
<div class="sidenav">
 <div class="sidenavcontent" >
  <h1>HELLO!!!</h1>
  <ul>
   <g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
   <li><g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>
   </g:each>
  </ul>
 <table>
  <tr>
   <g:sortableColumn property="firstName" title="FirstName"/>
   <g:sortableColumn property="lastName" title="LastName"/>
   <g:sortableColumn property="idNum" title="ID Number"/>
  </tr>
   <g:each in="${medicalautomation.InformationDocs.list()}" var="info">
    <tr>
     <td><g:remoteLink id="${info.id}" controller="informationDocs" action="show" update="showdetails">${info.firstName}</g:remoteLink></td>
     <td>${info.lastName}</td>
     <td>${info.idNum}</td>
    </tr>
   </g:each>
  </table>
 </div>
</div>
<div class="bodycont">
 <div id="showdetails"></div>
</div>

欢迎来到Grails
顶部导航

你好
  • ${c.fullName}
${info.firstName} ${info.lastName} ${info.idNum}

我使用参数映射发送控制器,它正确调用了列表操作,但出现了一个问题:


我更改了列表操作,它重定向到gsp页面,g:sortableColumn是,但表的顺序似乎没有改变。这是我在控制器中的代码:
redirect(uri:“?sort=${params.sort}&order=${params.order}”)
正如我正确理解的那样,gsp页面不是 视图->医疗自动化.informationDocs.index一个

。。。如果要将可排序列重定向到其他控制器,则必须承担责任,为最初显示gsp页面并在响应中指定此gsp页面的控制器提供与列表方法相同的数据。。。(因为在单击可排序列后,将再次显示相同的页面,并按列名排序列表)

因此,你的

<g:each in="${medicalautomation.InformationDocs.list()}" var="info">

让我有点困惑,因为在这里,您直接调用DomainClass list方法,而不使用参数(指定排序顺序),我认为您的排序顺序将被丢弃,即使您管理它来显示它而没有异常

在我想要显示的依赖列表有限的情况下,我经常使用jquerydatatable。它有可能对内置的线路等进行排序

以及:

在需要显示一小部分依赖数据的情况下,我通常使用jQuery.ajax调用来获取数据并通过jQuery/Javascript修改html


希望我能帮点忙。

为了更好地理解,请将GSP代码放在使用此可排序列的位置。@ajaypanchal我更新了posttry,将params=“${params}”添加到@vahid It works!!!Tnx@vahid我更新了问题,请你看一下好吗?是的,不是gsp。如您所述,单击g:sortableColumn调用控制器的列表操作
<g:each in="${medicalautomation.InformationDocs.list()}" var="info">