0

我有一个学生表格,表格内有位置,当我运行应用程序并显示表格时,它看起来像这样

地点 : Jl Excel Road Ring No.36 SINGAPORE, 10110

但我想像这样在两行中定位

Location : Jl Excel Road Ring No.36
           SINGAPORE, 10110     

这是gsp

<td><g:message code="location.label"/></td>
<td>${studentInstance.location}</td>

这是def show中的服务

def loc = Location.findByTidAndDeleteFlag(params.tid, "N")
    if(loc != null){
        studentInstance.location = loc.address1  + " " + loc.city + ", " + loc.zipCode
    }
    else{
        studentInstance.location = ""
    }
4

2 回答 2

1

使用br标签

studentInstance.location = loc.address1  + "<br/> " + loc.city + ", " + loc.zipCode

然后您可以像这样直接呈现未转义的 HTML:

<%=studentInstance.location%>

默认编解码器可能是您配置中的 HTML。检查值grails.views.default.codec

有关更多信息,请阅读: http: //grails.org/doc/2.2.1/ref/Plug-ins/codecs.html

我相信从 Grails 2.3.x 开始,默认视图编解码器是带有 XML 转义的 HTML,以防止 XSS 攻击。

于 2013-06-25T04:04:14.403 回答
0

这是一种不好的方法,但您可以尝试

studentInstance.location = loc.address1 + "<br> " + loc.city + ", " + loc.zipCode

一般来说,我会在视图中显示地址的每个元素,以便样式在视图中比在控制器中更灵活,原始看起来像:

<td><g:message code="location.label"/></td>
<td>${model.address1} <br> ${model.city}, ${model.zipCode}</td>
于 2013-06-25T02:49:33.770 回答