私は持っている
public class ExtendedBeanELResolver extends BeanELResolver {
private static final Pattern regExpDn = Pattern.compile("PLMN-PLMN/\\w+.\\d+(.*)");
@Override
public Object getValue(ELContext context, Object base, Object property)
try {
// remake DIST.NAME appearance
if (property.equals("dn") && base instanceof Alarm && ((Alarm) base).getCustomer().getNameEng().equalsIgnoreCase("mts")) {
String dn = null;
try {
dn = ((Alarm) base).getDn();
Matcher mtch = regExpDn.matcher(dn);
mtch.find();
((Alarm) base).setDn(mtch.group(1));
} catch (Throwable e) {
// logger.error("error in dn - " + dn);
} finally {
return super.getValue(context, base, property);
}
}
}
いくつかの条件に応じて、オブジェクトの一部の表示値を変更します。これがjsfから呼び出された場合、値を変更したくありません<ui:param name="fullDistName" value="#{alarm.dn}" />
。このELが呼び出されたコンポーネントのIDを取得するにはどうすればよいですか? 私の英語でごめんなさい。