比如从data中取出abstract,由于abstract是java的关键字,所以会报错,所以写法从
${data.abstract}修改为
${data['abstract']}
具体原因如下
------------------------------------------------------------------------------------------------------------------------------------------------------
在tomcat 7中默认会检查EL表达式中是否会有Java关 键字。比如Foo#getClass()#name()中有class关键字,${foo.class.name}这样就是会报错,解决方法 是${foo['class'].name},再如Session#isNew() ,要${pageContext.session['new']}这样表达。
参考https://issues.apache.org/bugzilla/show_bug.cgi?id=50147
或者有另种比较暴力的解决方法,就是修改配置文件,不让检查java关键字。在tomcat 6中“org.apache.el.parser.SKIP_IDENTIFIER_CHECK”默认是false的。
解决方法:
$CATALINA_BASE/conf/catalina.properties 增加
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
$CATALINA_BASE/conf/Catalina/localhost/webapp.xml 增加
或修改server.xml的context选项,增加useHttpOnly="false" 即可。
参考:http://blog.csdn.net/eagleking012/article/details/6822847