Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf BeanELResolver@Override getValue(ELContext上下文、对象基、对象属性)_Jsf_Jakarta Ee_El - Fatal编程技术网

Jsf BeanELResolver@Override getValue(ELContext上下文、对象基、对象属性)

Jsf BeanELResolver@Override getValue(ELContext上下文、对象基、对象属性),jsf,jakarta-ee,el,Jsf,Jakarta Ee,El,我有 用于根据某些条件更改对象中的某些可见值。如果这是从jsf调用的,我不想更改值 我如何获取该EL调用的组件的id? 对不起,我说的是英语。您可以通过编程方式计算{component}或调用来获取当前的JSF组件 请注意,这将EL解析器与JSF紧密耦合 public class ExtendedBeanELResolver extends BeanELResolver { private static final Pattern regExpDn = Pattern.compile("PLMN

我有

用于根据某些条件更改对象中的某些可见值。如果这是从jsf调用的,我不想更改值 我如何获取该EL调用的组件的id?
对不起,我说的是英语。

您可以通过编程方式计算{component}或调用来获取当前的JSF组件

请注意,这将EL解析器与JSF紧密耦合

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);
    }
    }
}
UIComponent component = UIComponent.getCurrentComponent(FacesContext.getCurrentInstance();
// ...