を管理しますか?私は、次のことを試してみましたが、それは動作しません:解決EL式をプログラムシームにどのように我々は、Seamは豆を管理し、プログラムにJSF EL式を解決することができます豆
私のアプリケーションでprivate String resolveExpression(String expression){
if(expression == null)
{
return null;
}
javax.faces.context.FacesContext facesCtx = FacesContext.getCurrentInstance();
Application app = facesCtx.getApplication();
try
{
// Here we bind a value expression into the item,
// so it can dynamically change its language
ELContext elCtx = facesCtx.getELContext();
ExpressionFactory ef = app.getExpressionFactory();
ValueExpression ve = ef.createValueExpression(elCtx, expression, String.class);
return (String) ve.getValue(elCtx);
}
catch (ELException ex) {
}
return expression;
}
私はシームのセッションスコープに座っていると、このBeanはプロパティname
を持っていることをUser
という名前のBeanを持っています。 EL式は#{usr.name}
ですが、この式はFaceletファイルで正常に動作している間は空を返します。
あなたは#{usr.username}を試したことがありますか? – flash
残念ながら '名前'は 'username'ではありません:D – Barcelona
ここで 'ELException'を削除しないでください。その例外をログに記録してみてください。たぶん何らかのヒントがあります。 – flash