我试图在不使用jsp:useBean标记的情况下使用jsp标记。 值在servlet中设置并转发到jsp:
request.setAttribute("person", p);
在jsp中试图获得价值:
<jsp:getProperty name="person" property="title"/>
有时会获得值,有时它会抛出以下异常:
org.apache.jasper.JasperException: file:/index.jsp(17,0)
jsp:getProperty for bean with name 'person'.
Name was not previously introduced as per JSP.5.3
请说明为什么行为不可预测?
答案 0 :(得分:0)
我猜你使用的是tomcat6或更高版本,对吗?
在调用jsp:useBean
之前,尝试使用jsp:getProperty
标记再次引用bean。它可能有用:
<jsp:useBean id="person" class="xxx.xxx.Person" />
<jsp:getProperty name="person" property="title" />
这可能是tomcat的一个bug。看看这个:https://issues.apache.org/bugzilla/show_bug.cgi?id=48701