使用Grails控制器中g.render的输出

时间:2010-09-10 01:11:54

标签: jquery ajax grails groovy

我在控制器中渲染两个GSP模板。第一个模板呈现如下:

String couponspage = (g.render(template: "availableCoupons", contentType:"text/html", model : [:]))?.toString()

我将模型中第一个模板的结果包含在调用中,以便按如下方式呈现第二个模板:

render(template: "itemOffer", model: [merchantOffers: merchantOffers, asinnumbers: params.asinnumbers, linkshare : couponspage])

在第二个GSP模板中,我使用jQuery使用模型中包含的呈现模板更新元素的内容,如下所示:

$("#elementid").html("${linkshare}")

如果渲染模板在一行中包含所有html元素,则一切正常。不幸的是,像许多其他html文档一样,我的GSP模板具有制表符和换行符,以使文件可供人阅读。 g.render包含这些控制字符,这似乎会导致一切都破裂。包含在div元素中的段落元素中的包含Hello World的简单文件不起作用。

“\ n \ t

Hello World

\ n”

(抱歉,您无法在上面的示例中看到段落和div元素。)文档表明我正在做的事情是直截了当的,应该没有问题。我不敢相信我必须从渲染的字符串中删除控制字符或做我。删除对jQuery的调用并将“$ {linkshare}”直接添加到第二个模板的末尾也可以。是什么赋予了?

谢谢

1 个答案:

答案 0 :(得分:1)

我现在看到问题出在javascript上。字符串中的换行符无效。我将从字符串中转义或删除字符。

谢谢, 阿什利