我不知道从哪里开始收到此错误消息。我试过谷歌搜索,但我从来没有能够确定我得到这个消息的坚实理由。
我看了各种jsp教程,它们看起来都比较简单,所以我没有看到问题。
我正在为JetBrains TeamCity编写另一个插件,并且已经在我的java代码和jsp代码之间来回传递值,其参数如下:
${parameterName}
每当我尝试使用像
这样的标签插入真正的jsp代码时<%= new java.util.Date() %>
这会引发此错误。
<%!, <jsp:declaration, <%=, <jsp:expression, <%, <jsp:scriptlet ) are disallowed here
感谢任何帮助或建议。
答案 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:重新启动应用程序。
就是这样。