处理GroovyPageView时出错:gsp grails中的未知JSP标记

时间:2015-01-25 15:48:43

标签: grails birt jsp-tags tld

我在这里已经阅读了很多解决方案,但没有解决我的问题。 我添加了ff:

在我的gsp- <%@ taglib prefix="gd" uri="/web-app/WEB-INF/tld/birt.tld" %>

在我的config.groovy中。 - grails.gsp.tldScanPattern='classpath*:/META-INF/*.tld,/WEB-INF/tld/*.tld'。 在我的Buildconfig.groovy -

runtime 'javax.servlet:jstl:1.1.2'
        runtime 'taglibs:standard:1.1.2'  

我在使用JSP标记fr here

时遵循了文档中的所有注释

我复制了

  

birt.tld

文件到WEB-INF \ tld目录 我有

  

JSTL-1.1.2.jar

在我的classpath中 context / web-inf / lib目录

但是没有让错误消失。

PLS。请注意,我的view.gsp中的标记不会在其下面出现错误(没有红色波浪线),当我按下“F3”时它转到birt.tld文件,意思是我的uri和文件是正确的。当我运行项目并转到view.gsp时,就是我遇到这样的错误。请帮忙。我已经用尽了几个类似线程中提出的所有可能的解决方案。感谢

======================

我的观点.gsp

<%@ taglib prefix="gd" uri="/web-app/WEB-INF/tld/birt.tld" %>


<html>
  <head>
    <title>Report ${id}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="layout" content="main" />
  </head>  
  <body><div class="body">
                    <g:form action="run" name="paramForm">
                        <input type="hidden" name="id" value="${id}">
                        <input type="hidden" name="rerun" value="1">
                        <g:each var="k" in="${reportParams.keySet() }">
                            <input type="hidden" name="${k}" value="${reportParams[k]}">
                        </g:each>
                    </g:form>
                <div class="nav">
                    <span class="menuButton"><g:link class="home" href="${resource(dir:'/')}">Home</g:link></span>
                    <span class="menuButton"><g:link class="list" action="list">List reports</g:link></span>
                    <span class="menuButton"><g:link class="edit" action="run" onClick="javascript:document.forms.paramForm.submit();return false;">Change Parameters</g:link></span>
                    <span class="menuButton"><g:link class="save" action="view" id="${id} " params="${reportParams}">
                        Permanent link to this Report
                    </g:link></span>


                 </div>
        </div>
        <div class="report">

        <div class="report-inner"> param page

<gd:parameterPage id="birtParmPage" name="myBirtParmPage" reportDesign="helloWorld.rptdesign" isCustom="true" pattern="frameset">

Select 
<gd:paramDef id="10" name="STATE" />
<br><br>
Select City
<gd:paramDef id="11" name="CITY" />
<br><br> 
Select customer
<gd:paramDef id="12" name="CUSTOMER" />
<br><br> 
    <g:submitButton class="save" name="run" value="View Report" />&nbsp;&nbsp;&nbsp;
</gd:parameterPage>
${reportContent}
        </div>
        </div>
    </body>
</html>

我的web.xml

 <jsp-config>
        <taglib>
            <taglib-uri>/birt.tld</taglib-uri>
            <taglib-location>/web-app/WEB-INF/tld/birt.tld</taglib-location>
        </taglib>
    </jsp-config>

buildconfig.groovy

 dependencies {
      ...
        runtime 'javax.servlet:jstl:1.1.2'
        runtime 'taglibs:standard:1.1.2'
        runtime 'com.h2database:h2:1.4.185'

        compile 'org.eclipse.birt.runtime:org.eclipse.core.runtime:3.10.0.v20140318-2214'

        compile('org.eclipse.birt.runtime:org.eclipse.birt.runtime:4.4.1') {
            //excludes "org.milyn", "flute", "xmlbeans", "xerces"
            excludes 'eclipse.core.runtime','flute', 'xmlbeans'
        }
    }

birt.tld已下载fr here

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题并通过导入这样的taglib来解决它:

const reference

<%@ taglib prefix="birt" uri="http://www.eclipse.org/birt/taglibs/birt.tld" %>属性应与uri

中的<uri>标记匹配