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

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

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

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

${parameterName} 

每当我尝试使用像标签的真正的jsp代码

  

这会引发此错误。

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

任何帮助或建议表示赞赏。

应用程序中是否禁止使用scriptlet? 在web.xml文件中查找true

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

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

   *.jsp true   *.tag true   

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

如果你想在.jsp中允许“<%!%>” ,那么:

第1步:打开web.xml

步骤2:执行以下更改:

  *.jsp false   *.tag false   

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

就这样。