TeamCity:脚本元素jsp:声明,jsp:表达式,jsp:scriptlet在这里是不允许的

时间:2009-09-14 18:45:07

标签: java jsp teamcity

我不知道从哪里开始收到此错误消息。我试过谷歌搜索,但我从来没有能够确定我得到这个消息的坚实理由。

我看了各种jsp教程,它们看起来都比较简单,所以我没有看到问题。

我正在为JetBrains TeamCity编写另一个插件,并且已经在我的java代码和jsp代码之间来回传递值,其参数如下:

${parameterName}

每当我尝试使用像

这样的标签插入真正的jsp代码时
<%= new java.util.Date() %> 

这会引发此错误。

<%!, <jsp:declaration, <%=, <jsp:expression, <%, <jsp:scriptlet ) are disallowed here

感谢任何帮助或建议。

4 个答案:

答案 0 :(得分:4)

应用程序中是否禁止使用scriptlet?在web.xml文件中查找<scripting-invalid>true</scripting-invalid>

Scriptlets是一个错误。它们使表达和逻辑混合起来变得容易。因此,添加此标志是为了防止开发人员在应用程序中使用它们,而是鼓励使用表达式语言和标记库。

答案 1 :(得分:2)

您可以为不同的url模式打开和关闭脚本/脚本,因此可以关闭.tag文件,但必要时可以关闭.jsp。下面是一个示例,尝试将您要使用的文件扩展名的scripting-invalid设置为false,如果JBoss默认为true,则可能会覆盖默认值:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <scripting-invalid>true</scripting-invalid>
    </jsp-property-group>
    <jsp-property-group>
        <url-pattern>*.tag</url-pattern>                
        <scripting-invalid>true</scripting-invalid>
    </jsp-property-group>
</jsp-config>

答案 2 :(得分:1)

我也面临同样的问题。我发现当我在自定义标记中使用脚本标记时会出现问题。我想也可以为标签定义脚本无效或类似的东西。只是一个指针。

答案 3 :(得分:1)

如果您想在.jsp中允许“&lt;%!%&gt;”,那么:

步骤1:打开web.xml

步骤2:进行以下更改:

<jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <scripting-invalid>false</scripting-invalid>
    </jsp-property-group>
    <jsp-property-group>
        <url-pattern>*.tag</url-pattern>                
        <scripting-invalid>false</scripting-invalid>
    </jsp-property-group>
</jsp-config>

步骤3:重新启动应用程序。

就是这样。