如何在grails中显示html?

时间:2011-05-24 06:51:00

标签: html grails gsp

我有一个域类,其中包含一个包含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"。我做错了什么?有没有更好的方法来实现这个目标?

2 个答案:

答案 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()}