Grails - 如何将一个personInstance ID从gsp发送到域类?

时间:2015-11-25 16:41:21

标签: sql grails

我是grails的新手,我需要你们的帮助。 我在域类中有我的SQL查询。我把[1]看到结果但最终我想在那个地方发送一个参数来根据人的身份号显示结果。

def dataSource

def someMethod() {

    def sql = new Sql(dataSource)

    def resultRows = sql.rows('select * from result where id = ?', [1])
}

这就是我在gsp中所拥有的。

<g:each in="${personInstance.someMethod()}" status="i" var="results">
    <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
        <td>${results.column_1}</td>
        <td>${results.column_2}</td>
        <td>${results.column_3}</td>
    </tr>
</g:each>

如何从视图向域类发送参数? 请帮忙。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您想了解Grails如何“想要”您的控制器并查看代码,请尝试让Grails为您生成代码。即使您没有将该代码保留在最终项目中,它仍然可用作教学工具。

arc$ grails create-app Tester1
arc$ cd Tester1
arc$ grails
grails> create-domain-class Person
-- add some attributes to your Person domain class, save the file
grails> generate-all tester1.Person

现在去看看PersonController.groovy和各种视图。基本上,它会在控制器中封送您的数据,将其传递给视图,视图根据它们的内容进行操作。

将任意数据传递给gsp的非常基本的例子:

// show method for an Adventure
def show(Adventure adventure) {
    // a String to pass to the gsp
    def attribute = 'Bilbo'
    // an Array to pass to the gsp
    def attributeList = ['Dwalin','Balin','etc']
    // create a map of values that are 'automagically' passed
    // to the show.gsp
    [adventure: adventure, hobbit: attribute, dwarves: attributeList]
}

gsp中有冒险,霍比特人和矮人变量。模板代码喜欢使用详细命名,例如adventureInstance,但只要您的gsp代码使用您定义的地图中的键名,就可以了。