【发布时间】:2017-01-13 11:00:27
【问题描述】:
我正在为我的表使用 g:sortableColumn 但我收到此错误:
由 UrlMappingException 引起:无法创建用于映射的 URL [/()/()?/(*)?] 和参数 [{sort=firstName, order=asc, 行动=列表}]。参数 [controller] 是必需的,但不是 指定!
这是我的代码:
<g:sortableColumn property="firstName" title="FirstName"/>
这是我的课:
package medicalautomation
class InformationDocs {
String firstName
String lastName
String idNum
String sex
String bloodType
Date birthDay
String job
String backGround
Double weight
Double height
Double bloodPressure
Double bloogSugar
String phoneNum
String address
String description
static constraints = {
firstName()
lastName()
idNum()
sex()
bloodType()
birthDay()
job()
backGround(maxSize:5000 )
weight(nullable: true)
height(nullable: true)
bloodPressure(nullable: true)
bloogSugar(nullable: true)
phoneNum(maxSize: 20)
address(maxSize: 200)
description(maxSize: 5000)
}
}
很明显,当我在另一个 GSP 页面中使用它而不是它链接到控制器的页面时,我必须传递控制器名称。问题是我不知道如何,而且我不知道确定它是否与 URL 映射有关。
感谢您的帮助
我的 GSP 代码:
<!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>
我使用 params 映射发送 controller,它正确调用了 list action,但有一个问题:
我更改了列表操作,它重定向到 g:sortableColumn 所在的 gsp 页面,但表格的顺序似乎没有改变。这是我在控制器中的代码:redirect(uri: "?sort=${params.sort}&order=${params.order}")
【问题讨论】:
-
您能否将您的 GSP 代码放在您使用此 sortableColumn 的位置以便更好地理解。
-
@ajaypanchal 我更新了帖子
-
尝试将 params="${params}" 添加到
-
@vahid 它有效!!! Tnx
-
@vahid 我更新了这个问题,请你看一下吗?
标签: grails gsp grails-domain-class grails-controller