2014-09-09 5 views
0

Привет,Невозможно разрешить класс grails.doc.internal.StringEscapeCategory

Я хочу, чтобы отобразить значение в этикетке. У меня есть следующий исходный код GSP страницы:

<%@ page import="grails.doc.internal.StringEscapeCategory; toolprod.Portal; toolprod.IndexController" %> 
<html> 
.... 
<% 
for(String p : app?.portals) { 
if (p != null) { 
    String span = StringEscapeCategory.encodeAsHtml("<span class=\"label label-info\">") 
    out.print(span) 
    out.print(p) 
    span = StringEscapeCategory.encodeAsHtml("</span>") 
    out.print(span) 
} 
} 
%> 

....

У меня есть ошибка не в состоянии разрешить класс grails.doc.internal.StringEscapeCategory. Нужен ли мне плагин в BuildConfig.groovy? Есть ли лучший способ избежать HTML?

ответ

0

Более идиоматическое будет использовать GSP <g:each> тег:

<g:each in="${app?.portals?.findAll()}"> 
    <span class="label label-info">${it}</span> 
</g:each> 

В .findAll() (без аргументов) будет отфильтровать список только те элементы, которые Groovy-верно, то есть не нулевой, нулевой номер , или пустую строку.

Смежные вопросы