gpt4 book ai didi

grails - 如何在gsp文件中访问Grails ServletContext?

转载 作者:行者123 更新时间:2023-12-02 14:18:22 28 4
gpt4 key购买 nike

我有一个类别列表,这些类别需要存在于应用程序的ServletContext范围内,因为该列表将由每个 View 访问,并且不需要修改。

我尝试在BootStrap.groovy的init方法中设置一个新的ServletContext属性,但似乎无法访问gsp文件中的servletContext。

这是我正在尝试的。如何从gsp文件访问servletContext(应用程序)作用域属性?


import org.codehaus.groovy.grails.commons.ApplicationHolder as AH

import java.util.List
import java.util.ArrayList

class BootStrap {

def init = {

servletContext ->

def dataSource = AH.application.mainContext.dataSource

List categories

def sql = new Sql(dataSource);
def rows = sql.rows("select distinct catgry from cmpitmms");

categories = new ArrayList();

for (arg in rows) {
println arg.getAt(0)
if (!arg.getAt(0).trim().equals("")) {
categories.add(arg.getAt(0).trim());
}
}

servletContext.categories = categories

}
def destroy = {
}
}

Here is where I'm trying to access it in the gsp file.

<ul>
<g:each var="category" in="${servletContext.categories}">
<li><a href="category/${category}" title="${category}">${category}</a></li>
</g:each>
</ul>

最佳答案

找到了!

代替

servletContext.categories = categories


servletContext.setAttribute("categories", categories)

然后在gsp中使用
<g:each var="category" in="${application.categories}">
<li><a href="category/${category}" title="${category}">${category}</a></li>
</g:each>

关于grails - 如何在gsp文件中访问Grails ServletContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432263/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com