加载jsp页面时报错500:/WEB-INF/jsp/hello.jsp (行.: [14], 列: [2]) #{…} 不允许出现在模板文本中

问题分析:

在JSP 2.1规范中引入的,JSP 2.1规范对JSP 2.0和Java Server Faces 1.1中的表达式语言进行了统一。在JSP 2.1中,字符序列#{被保留给表达式语言使用,你不能在模板本中使用字符序列#{。如果JSP页面运行在JSP 2.1之前版本的容器中,则没有这个限制。对于JSP 2.1的容器,如果在模板文本中需要出现字符序列#{,就报错!

问题解决:

在page指令添加: deferredSyntaxAllowedAsLiteral=“true”

<%@ page contentType="text/html;charset=UTF-8" language="java" deferredSyntaxAllowedAsLiteral="true"%>

该属性指示在JSP页面的模板文本中是否允许出现字符序列#{。如果该属性的值为false(默认值),当模板文本中出现字符序列#{时,将引发页面转换错误。

  • Tips

一定要在对应的jsp文件上添加!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐