我的日志中出现以下错误:
查找属性“foo”时出错 对象类型“foo.bar”。原因:null java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor363.invoke(未知 资源) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1773)
我无法为我的生活重新创建它,我想知道是否有人对JSP / Java Bean的这类问题有任何经验。我想知道的是,这会阻止用户显示网页吗?
我知道这不是很多信息,但任何建议都可以提供帮助。
答案 0 :(得分:1)
某些页面上的某些内容正在尝试“导航”到bean实例(即Java对象),并且它正在尝试访问该bean上没有的属性。
<span id='name'>${fn:escapeXml(someBean.user.fullName)}</span>
如果bean“someBean”没有“user”属性,如果用户对象没有“fullName”属性,则会出现类似的异常。
答案 1 :(得分:0)
从你在这里给出的,我唯一的建议是确保你确实有一个名为“foo”的属性,并且在“foo.bar”中没有句号。您不能使用名称中的句点命名变量/对象。 JSP将自动在“foo”中查找名为“bar”的属性。请改为“fooBar
”。
答案 2 :(得分:0)
Java正在bean上调用getter方法,提供属性,而该属性又抛出异常。如果您可以看到目标异常 - 这是InvocationTargetException的目标,您将知道是什么导致它失败。