2011-05-24 54 views
0

我有一个包含HTML代码的字符串变量的域类。我想在myxml.gsp上显示这段代码。如何在grails中显示html?

为此,我已经写了下面的代码:

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

你的意思是 “无法获取价值”?在

之间产生的HTML是什么? – 2011-05-24 07:50:36

+1

您能否向我们提供您的控制器代码? – jjczopek 2011-05-24 08:53:34

回答

3

如果需要向用户显示HTML标记,请使用${learn.content.encodeAsHTML()}

对于Cannot get property 'content' on null object错误,看起来你传递了一个空learn对象,或者根本不传递它。检查您是否有类似于:[...(something), learn: learnInstance]从您的操作中返回。

如果可以在GSP(我不推荐)中有空learn - 使用${learn?.content?.encodeAsHTML()}

+1

所以问题很简单,'学习'为空 – 2011-05-24 08:36:58

+0

是的,将更新答案...和问题。 – 2011-05-24 08:40:56

8

我用这个:

$ {原料(htmlString)}