J'utilise g: sortableColumn pour ma table mais je reçois cette erreur:g: sortableColumn manquant nom du contrôleur (Comment puis-je passer le nom du contrôleur à g: sortableColumn)
Causé par UrlMappingException: Impossible de créer l'URL pour le mappage [/ ()/()?/(*)?] Et les paramètres [{sort = firstName, order = asc, action = liste}]. Le paramètre [controller] est requis, mais pas spécifié!
Ceci est mon code:
<g:sortableColumn property="firstName" title="FirstName"/>
Et voici ma classe:
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)
}
}
bien son évident que quand je l'utilise dans une autre page SPG que celui dans lequel il est lié au contrôleur, je dois passer le nom du contrôleur.Le problème est que je ne sais pas comment, et je ne suis pas sûr si cela a quelque chose à voir avec le mappage d'URL.
Merci pour votre aide
Mon code 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>
j'envoie le contrôleur en utilisant params carte et il appelle correctement l'action liste mais est un problème:
j'ai changé l'action de la liste et il redirige vers la page gsp que g: sortableColumn est, mais il semble que l'ordre de la table n'est pas changing.This mon code dans le contrôleur: redirect(uri: "?sort=${params.sort}&order=${params.order}")
pouvez-vous s'il vous plaît mettre votre code GSP où vous utilisez ce ** sortableColumn ** pour une meilleure compréhension. –
@ajaypanchal J'ai mis à jour l'article – Navid
essayez d'ajouter params = "$ {params}" à la balise
Vahid