org.apache.jasper.JasperException: /index.jsp(13,2) According to TLD or attribute directive in tag file, attribute test does not accept any expressions
在运行struts2标签页面时报错,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <s:set name="score" value="61"></s:set> <s:if test="${score>90}">优秀</s:if> <s:elseif test="${score>80}">良好</s:elseif> <s:elseif test="${score>70}">一般</s:elseif> <s:elseif test="${score>60}">及格</s:elseif> <s:else>不及格</s:else> </body> </html>
经查找发现解决办法如下
错误提示是,该标签不能接受el表达式 struts2.0标签主要支持的是ognl表达式 所以把<s:elseif test="${age > 35}"> 改为<s:elseif test="#age>35"> 就ok了
还有人说
struts2 _2.0.11 版本不支持 s 标签嵌套 EL struts2_2.0.08 这个支持但是不支持集合封装pojo。。。。