使用Grails在GSP中执行GORM查询

使用Grails在GSP中执行GORM查询,grails,gorm,gsp,Grails,Gorm,Gsp,在我的gsp中,我必须执行查询以获取一些数据。我的查询在控制器中工作,而相同的查询在gsp中不工作。我想这是因为引用,我试图逃避引用,但没有成功 这是我的实际代码: <%@ page import="package.PositionnementProfil" %> <html> <g:set var="listPositionnementActuel" value="${PositionnementProfil.executeQuery("from Positi

在我的gsp中,我必须执行查询以获取一些数据。我的查询在控制器中工作,而相同的查询在gsp中不工作。我想这是因为引用,我试图逃避引用,但没有成功

这是我的实际代码:

<%@ page import="package.PositionnementProfil" %>
<html>
  <g:set var="listPositionnementActuel" value="${PositionnementProfil.executeQuery("from PositionnementProfil as pp WHERE pp.profil = ':profilInstance' AND pp.positionnement.libelle = 'possible'", [profilInstance:profilInstance])}" />
[...]
</html>
<body>
  <g:each in="${listPositionnementActuel}" var="pos" >
    <h1>test</h1>
  </g:each>
  [...]
</body>

什么也不印。如果我做一个简单的PositionnementProfil.list,我就得到了所有的结果

查询不属于GSP。你为什么不让你的管制员做这些肮脏的工作-我们有没有办法阻止你在普惠制中这样做?此数据访问代码最好放在控制器中,最好还是作为服务类。如果要在不同的GSP上使用相同的代码,请在服务和控制器中保留查询,并将结果传递给GSP进行渲染。如果您需要在呈现UI之后动态更新UI,那么考虑使用Ajax调用控制器动作。它起作用了。事实上,我在Ajax中有一个角色,但我没有参与。但是主页的设计就像我们必须首先调用没有ajax的视图,然后动态刷新,这次使用ajax。因此,在闭包中进行的查询与ajax视图相对应。我不知道为什么我不认为这样做很容易!也可以考虑在TAGLIB中这样做。您可以从那里调用任何服务,并在视图中迭代数据。