【问题标题】:Results SQL results from Grails controller to dropdown list box从 Grails 控制器到下拉列表框的结果 SQL 结果
【发布时间】:2014-10-21 14:15:35
【问题描述】:

我正在对数据库进行查询并尝试将列表返回到下拉列表框。我没有收到任何错误,但我没有得到任何结果。当我运行 SQL 时,我知道它应该返回值,但我可能在控制器或视图端出现了问题。任何帮助表示赞赏。

控制器 -

 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 查询返回的内容吗?

除了 Joshua 展示的方式之外,我还能够让它以这种方式工作。现在我有两种选择! -

Test Name: <g:select name="p_project_name" from="${results?.NAME}" noSelection="${['null':'Select One...']}" />

【问题讨论】:

  • 查看println results 正在发生的事情的最简单方法是您的(损坏的?)评论日志所在的位置。除此之外,您可以使用 IDE 中的调试器。
  • 这是一个下拉列表框。另一个是关于一张桌子的。
  • 其他答案有帮助吗?它解决了你的桌子问题吗?

标签: sql grails groovy


【解决方案1】:

您的结果未显示在选择列表中的原因是您没有告诉标签如何找到合适的值。 resultsList&lt;GroovyRowResult&gt;,因此您需要告诉标签您要使用结果中的哪一列:

<g:select from="${results}" optionKey="NAME" optionValue="NAME" />

您可以在documentation 中阅读有关 g:select 标记的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多