html - 浏览器无法正确解析HTML-Grails 2

标签 html grails browser gsp

我从 Controller (后端)生成HTML,但浏览器无法正确解析该HTML。
Controller 代码:

def getValue (returnIndex) {

        String dropDown = "<select name='" + returnIndex + "' style=''>"

        def CatArr = new BudgetViewDatabaseService().executeQuery("SELECT c.id,c.name AS categoryName FROM chart AS a LEFT JOIN crtClass AS b ON a.id=b.chart_class_type_id LEFT JOIN chart_group AS c ON b.id=c.chart_class_id WHERE c.status=1")
       
 if (CatArr.size()) {
            for (int i = 0; i < CatArr.size(); i++) {
                def catId = CatArr[i][0]
                def ProductArr
                ProductArr = new BudgetViewDatabaseService().executeQuery("SELECT id,accountCode,accountName FROM bv.crtMsr where status='1' AND chart_group_id='" + catId + "'")
                if (ProductArr.size()) {
                    dropDown += "<optgroup label='" + CatArr[i][1] + "'>"
                    for (int j = 0; j < ProductArr.size(); j++) {
                        dropDown += "<option value='" + ProductArr[j][1] + "' >" + ProductArr[j][1] + "  " + ProductArr[j][2] + "</option>"
                    }
                    dropDown += "</optgroup>"
                }
            }
        }

        dropDown += "</select>"
        return dropDown
    }
查看页面的代码:
<div class="fieldContainer fcCombo">
      <label>
              My GL <b>:</b>
     </label>
  
    ${new CoreParamsHelperTagLib().getValue('formFourGLAccount')}
</div>
问题:
enter image description here
生成的HTML看起来像:
enter image description here
当我从浏览器以编辑模式打开该HTML时,其外观如下:
    &lt;select name='formFourGLAccount' style=''&gt;&lt;optgroup 
label='Overige immateriële bezittingen'&gt;&lt;option value='0430' &gt;0430  Overige niet 
materiële bezittingen&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Computers en 
computerapparatuur'&gt;&lt;option value='0210' &gt;0210  Computers en 
computerapparatuur&lt;/option&gt;&lt;option value='0211' &gt;0211  Afschrijving computers en 
computerapparatuur&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Overige materiële 
bezittingen'&gt;&lt;option value='0250' &gt;0250  Overige materiële 
bezittingen&lt;/option&gt;&lt;option value='0251' &gt;0251  Afschrijving overige materiele 
bezittingen&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Waarborgsommen'&gt;&lt;option 
value='0300' &gt;0300  Waarborgsommen&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup 
label='Deelnemingen in andere bedrijven'&gt;&lt;option value='0310' &gt;0310  Aandeel of belang 
 in andere bedrijven&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Strategische langlopende 
beleggingen'&gt;&lt;option value='0320' &gt;0320  Strategische langlopende 
beleggingen&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Verstrekte langlopende leningen 
(hypotheek ed)'&gt;&lt;option value='0330' &gt;0330  Verstrekte langlopende leningen (hypotheek
 ed)&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Overige financiële 
bezittingen'&gt;&lt;option value='0340' &gt;0340  Overige financiële bezittingen&lt;/option&gt;&lt;/optgroup&gt;&lt;optgroup label='Voorraad'&gt;&lt;option 
          

          
                    
如果我从 Controller 复制返回结果(HTML)并将其手动粘贴到浏览器中,则它可以正常工作

最佳答案

您尚未显示HTML的呈现方式,因此尚不清楚具体如何解决它,但是正在发生的是内容已被HTML编码,如果您希望浏览器评估HTML标记,则不希望这样做。
基于评论的编辑:

<div class="fieldContainer fcCombo">
      <label>
              My GL <b>:</b>
     </label>

    ${new CoreParamsHelperTagLib().getGLAccountExpanseBudgetForReconcilationOthersDropDown('formFourGLAccount')}
</div>
没有充分的理由来创建一个标记库的实例。您应将标签作为GSP标签调用。
您将从 Controller 返回硬编码的HTML作为模型变量。那是个坏主意,但不是您要问的。如果您确实想这样做,则需要防止在GSP中对数据进行HTML编码。您可以在GSP中使用raw(your unescaped html code here)方法作为避免编码的一种方法。

关于html - 浏览器无法正确解析HTML-Grails 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63284107/

相关文章:

javascript - 使用 jquery 查找父容器的子容器

hibernate - chalice /GORM : Manually assigning instance of one object to an instance of another fails on save

unit-testing - grails单元测试中trait提供的覆盖方法

c# - 输入标记 InvokeMember ("Click") 未在 Web 浏览器中触发 onclick 事件

html - 将图像的宽度设置为屏幕宽度的 80%(多个 div)

文本溢出容器时的 HTML/CSS 换行符

jquery - 悬停以更改 Canvas 的颜色

grails - 相当于mvn依赖项:Grails中的tree

firefox - 内联 base64 编码链接在 Firefox 中不起作用

JavaFX Applet 网页刷新和关闭通知