在HTML输出中保留GString换行符和空格

时间:2014-09-18 11:02:24

标签: grails groovy

所以我一直在使用GStrings在用户界面上生成SQL,但是这会导致一切都是连续的。是否可以使用GStrings插入新行甚至在字符之间放置更多空格?

正如您在下面所见,我已经尝试过" \ n"以及' \ n'没有成功。

下面的GString示例

def result = 
        """

    mlp_template_cp.template_ins (in_template_name => ${toStringOrNull(template.name)} "\n"
    ,in_description  => ${toStringOrNull(template.description)} "\n"
    , in_progression_type  => ${toStringOrNull(template.progressionType)} "\n"
    , in_default_plan_type => ${toStringOrNull(template.defaultPlanType)} "\n"
    , in_default_plan_phase => ${toStringOrNull(template.defaultPlanPhase)} "\n"
    , in_gui_flag => ${toStringOrNull(template.guiFlag)} "\n"
    , in_ext_fun => ${toStringOrNull(template.extFun)} "\n"
    ,out_tmpl_sysid => v_mt_sysid); "\n"

        """

1 个答案:

答案 0 :(得分:0)

浏览器会忽略多个空格和\n换行符。您必须改为使用&nbsp;<br />

def result = 
        """
    <br /><br />
    mlp_template_cp.template_ins (in_template_name => ${toStringOrNull(template.name)} <br />
    ,in_description &nbsp;=> ${toStringOrNull(template.description)} <br />
    , in_progression_type &nbsp;=> ${toStringOrNull(template.progressionType)} <br />
    , in_default_plan_type => ${toStringOrNull(template.defaultPlanType)} <br />
    , in_default_plan_phase => ${toStringOrNull(template.defaultPlanPhase)} <br />
    , in_gui_flag => ${toStringOrNull(template.guiFlag)} <br />
    , in_ext_fun => ${toStringOrNull(template.extFun)} <br />
    ,out_tmpl_sysid => v_mt_sysid); <br />
    <br />
        """

请注意,您还必须转义html的某些字符(例如<>&,..)。最简单的方法是使用第三方库,例如commons-lang StringEscapeUtils