假设我在控制器中有一个列表或映射,那么如何使用render方法在GSP视图中访问它们?

时间:2015-08-25 04:22:10

标签: grails gsp

def map = [name : "akshay"] def name_map = [full_name : map] //地图

def list = ["c", "c++", "java"] //列表
        //想要在地图和列表上方渲染到gsp,并希望在页面上显示它

1 个答案:

答案 0 :(得分:0)

render方法接受地图。在控制器中提供要渲染的视图名称和包含数据的模型映射,然后您可以直接访问gsp上的模型映射。

def map = [name: "akshay"]
def name_map = [full_name: map] //map
def list = ["c", "c++", "java"] //list

render view: 'index', model: [nameMap: name_map, langList: list]

在你的gsp中,迭代列表:

<g:each in="${langList}" status="index" var="lang">
    ${lang}
</g:each>

并迭代地图地图:

<g:each in="${nameMap}" status="index" var="fullNameMap">
    ${fullNameMap.key}
    <g:each in="${fullNameMap.value}" status="subIndex" var="map">
        ${map.key}
        ${map.value}
    </g:each>
</g:each>

另外一条忠告,如果您事先知道变量的数据类型,那么请使用数据类型而不是def。

相关问题