结果从Grails控制器到下拉列表框的SQL结果
我正在对数据库进行查询,并试图将列表返回到下拉列表框中。我没有得到任何错误,但我没有得到任何结果。当我运行SQL时,我知道它应该返回值,但我可能在控制器或视图端出了问题。谢谢你的帮助 控制器-结果从Grails控制器到下拉列表框的SQL结果,sql,grails,groovy,Sql,Grails,Groovy,我正在对数据库进行查询,并试图将列表返回到下拉列表框中。我没有得到任何错误,但我没有得到任何结果。当我运行SQL时,我知道它应该返回值,但我可能在控制器或视图端出了问题。谢谢你的帮助 控制器- import groovy.sql.Sql class V1Controller { def dataSource def index() { def nameList = { def db = new Sql(dataSource)
import groovy.sql.Sql
class V1Controller {
def dataSource
def index() {
def nameList = {
def db = new Sql(dataSource)
def results = db.rows("SELECT NAME FROM MIT_TEST_NAME")
//results.each{row -> log.debug .name}
[results:results]
}
}
}
视图-
Test Name: <g:select name="p_project_name" from="${results}" />
测试名称:
还有,有什么好方法可以查看我的控制器SQL查询返回的内容吗
除了约书亚展示的方式外,我还能够让它以这种方式工作。现在我有两个选择来做这件事
Test Name: <g:select name="p_project_name" from="${results?.NAME}" noSelection="${['null':'Select One...']}" />
测试名称:
您的结果没有显示在选择列表中的原因是您没有告诉标记如何找到合适的值。结果
是一个列表
,因此您需要告诉标签您要使用结果中的哪一列:
<g:select from="${results}" optionKey="NAME" optionValue="NAME" />
您可以在.What happed to?中阅读更多关于g:select标记的信息,这是查看
println results
注释日志所在位置的最简单的方法。除此之外,您还可以使用IDE中的调试器。这是关于一个下拉列表框。另一个是关于桌子的,另一个回答有用吗?它解决了你的桌子问题了吗?