Как показать HTML в Grails? - PullRequest
0 голосов
/ 24 мая 2011

У меня есть класс домена, в котором есть строковая переменная, содержащая 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 ]

8 голосов
/ 07 декабря 2015

Я использую это:

$ {raw (htmlString)}
4 голосов
/ 24 мая 2011

Если вам нужно отобразить HTML-разметку для пользователя, используйте ${learn.content.encodeAsHTML()}.

Для ошибки Cannot get property 'content' on null object, похоже, вы пропускаете нулевой learn объект или не пропускаете его вообще.Убедитесь, что у вас есть что-то вроде: [...(something), learn: learnInstance], возвращенного из вашего действия.

Если все в порядке, чтобы в GSP было ноль learn (что я не рекомендую) - используйте ${learn?.content?.encodeAsHTML()}.

...