我有一个域类,其中包含一个包含HTML代码的字符串变量。我想在myxml.gsp上显示这段代码。
为此,我写了以下代码:
Learn.groovy
public class Learn {
String content = ("<html><head><title>Learning Grails</title>
<body>Grails is fun</body></html>");
}
myxml.gsp
<html>
<head>
<title>Xml Output</title>
</head>
<body>
<p>${learn.content}<p>
</body>
</html>
但是,无法获取“内容”的值,收到错误:"Cannot get property 'content' on null object"
。我做错了什么?有没有更好的方法来实现这个目标?
答案 0 :(得分:8)
我用这个:
$ {原料(htmlString)}答案 1 :(得分:4)
如果您需要向用户显示HTML标记,请使用${learn.content.encodeAsHTML()}
。
对于Cannot get property 'content' on null object
错误,看起来您正在传递空learn
对象或根本不传递它。检查您是否有以下内容:[...(something), learn: learnInstance]
从您的操作返回。
如果可以在GSP中使用learn
(我不建议这样做),请使用${learn?.content?.encodeAsHTML()}
。