让我们假设我想访问ActionListener中兄弟组件的值。
以下片段未按预期工作,导致ClassCastException:java.util.HashSet无法强制转换为java.lang.String
public void processAction(final ActionEvent event) {
FacesContext ctx = FacesContext.getCurrentInstance();
UIComponent sibling = event.getComponent().findComponent("inputText");
String value = (String) sibling.getValue();
...
}
如果我将基本部分更改为以下片段,一切正常:
String value = ctx.getApplication().evaluateExpressionGet(ctx, inputText.getValueExpression("value").getExpressionString(), String.class);
有更好的解决方案吗?为什么输入文本的值为HashSet类型?
提前谢谢