Grails 如何将gsp中的groovy模型理解为对象表示法。
我正在处理一个grails项目,该项目的模型已传递到gsp页面。我可以轻松地运行模型的所有属性,并在gsp中填充我的字段。 我需要能够将模型的每个项存储在数据属性中,以便以后在我的JS文件中使用。 问题是知道如何将其存储为对象,以便稍后在JS中使用。 首先是我的html,我在其中循环浏览模型中的所有项 .gsp文件Grails 如何将gsp中的groovy模型理解为对象表示法。,grails,gsp,Grails,Gsp,我正在处理一个grails项目,该项目的模型已传递到gsp页面。我可以轻松地运行模型的所有属性,并在gsp中填充我的字段。 我需要能够将模型的每个项存储在数据属性中,以便以后在我的JS文件中使用。 问题是知道如何将其存储为对象,以便稍后在JS中使用。 首先是我的html,我在其中循环浏览模型中的所有项 .gsp文件 <g:each var="item" in="${modelData}"> <option value="${item.sequence}" data-us
<g:each var="item" in="${modelData}">
<option value="${item.sequence}" data-user="${item.properties}"/>${item.name}</option>
</g:each>
如果我运行item.properties,我将获得
{name=my name, sequence=00345}
{name=your name, sequence=00155}
{name=his name, sequence=00678}
问题是如何获取它,以便它像对象一样存储在数据用户属性中
{name:my name, sequence:00345}
{name:your name, sequence:00155}
{name:his name, sequence:00678}
我是grails新手,所以并不完全是groovy专家。我也没有在控制器或模型中编写代码,所以我不确定将模型传递给gsp是最佳实践还是将其传递给JSON更好。
编写控制器的人告诉我,当他们可以将模型传递给视图时,传递JSON是愚蠢的。我对此有点怀疑。但我想看看在这种情况下,哪种做法是最好的
有没有办法将此模型转换为正确的表示法以存储在我的数据属性中,供以后在JS中使用。您可以使用
${new grails.converters.JSON(item).toString(false).encodeAsHTML()}
,但它将包含一些额外的属性(id,class),除非您对其进行调整,否则可能不需要这些属性(例如,注册您自己的数据封送员)。谢谢您,Gregor,这正是我想要的。如果您经常需要这样做,我建议您编写一个很好的标记库:)只提到这一点,因为您编写的代码是Grails的新手,但它非常容易做到,而且会使GSP更短、更干净。
{name:my name, sequence:00345}
{name:your name, sequence:00155}
{name:his name, sequence:00678}