javax.el.E​​LException:/converter.xhtml @ 44,53 value =“#{converterBean.toList}”:在com.primesystems.beans.ConverterBean类型上读取'toList'时出错

时间:2012-08-21 13:36:34

标签: jsf

我在Tomcat中运行一个JSF应用程序。它有3个列表,它们由render属性链接。

<h:selectOneMenu id="selectedCategory" value="#{converterBean.selectedCategory}">
    <f:ajax execute="selectedCategory" render="selectedFrom"/>
    <f:selectItems value="#{converterBean.categories}"/>
</h:selectOneMenu>
<h:selectOneListbox id="selectedFrom" value="#{converterBean.selectedFrom}" size="5">
    <f:selectItems value="#{converterBean.fromList}"/>
    <f:ajax execute="selectedCategory selectedFrom" render="selectedTo"/>
</h:selectOneListbox>
<h:selectOneListbox id="selectedTo" value="#{converterBean.selectedTo}" size="5">
    <f:selectItems value="#{converterBean.toList}"/>
</h:selectOneListbox>

当我点击selectedCategory时,它会让selectedFrom很好。当我在selectedFrom中选择项目时,会出现如下错误。

  

SEVERE:javax.el.E​​LException:/converter.xhtml @ 44,53 value =“#{converterBean.toList}”:在com.primesystems.beans.ConverterBean类型上读取'toList'时出错

我想获得更多的堆栈跟踪但是在调试器中运行,为tomcat相关的appender添加log4j并使用try / catch包围我的bean方法是不行的。

我试过mojarra版本2.1.7和2.2.0-m05都有相同的行为。

我的代码出现问题并且在converterBean.getToList方法中捕获异常我能够捕获堆栈跟踪。所以我遇到的问题已经解决了。

我想在下面发表评论。下面的locater注入到转换器bean中,由于Conveter类不可序列化,我添加了如下逻辑,因为我有时会看到与序列化有关的异常。

@ManagedBean(name="serviceLocater")
@ApplicationScoped
public class LocalServiceLocater implements ServiceLocater, Serializable {
transient private Converter converter;
public LocalServiceLocater() {
    converter = new Converter();
}
public Converter getConverter() {
    // TODO Auto-generated method stub
    return converter;
}

private void readObject(java.io.ObjectInputStream in)
        throws IOException, ClassNotFoundException {
        in.defaultReadObject();
        converter = new Converter();
}

}

我还想再提一个问题。当我选择 category 时, from list to list 都需要更新。目前我已经对它们进行了编码,希望它们级联,但它只更新 from list 。我尝试在类别ajax渲染属性中同时渲染 列表,但随后它发送类别,旧的虽然我希望它代替两个请求。首先使用 category 来填充列表。带有类别的第二个请求,从填充到列表

0 个答案:

没有答案