Устранение неполадок javax.el.PropertyNotFoundException в ADF 12.2.1.4

Исключение javax.el.PropertyNotFoundException — это распространенная ошибка, возникающая в приложениях ADF (Application Development Framework). Эта ошибка указывает на то, что целевое свойство или метод не удалось найти в управляемом компоненте или источнике данных, к которому осуществляется доступ. В этой статье блога мы рассмотрим несколько способов устранения и устранения этой ошибки, а также приведем примеры кода.

Метод 1: проверка определений управляемых компонентов
Первым шагом является проверка определений управляемых компонентов в вашем приложении ADF. Убедитесь, что управляемый компонент правильно определен в файле face-config.xml. Проверьте, присутствует ли свойство или метод, к которому осуществляется доступ в выражении EL, в соответствующем классе управляемого компонента.

Пример кода:

<managed-bean>
    <managed-bean-name>myBean</managed-bean-name>
    <managed-bean-class>com.example.MyBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

Метод 2: проверка выражений EL
Далее просмотрите выражения EL (язык выражений), используемые на страницах ADF. Дважды проверьте, действительно ли свойство или метод, к которому осуществляется доступ, существует в управляемом компоненте. Убедитесь, что синтаксис выражения EL правильный и указаны соответствующие имена объектов и свойств.

Пример кода:

<af:outputText value="#{myBean.myProperty}" />

Метод 3: подтверждение компонентов доступа к данным
Если свойство или метод, к которым осуществляется доступ, связано с источником данных, например с таблицей базы данных или веб-службой, убедитесь, что компоненты доступа к данным настроены правильно. Проверьте привязки элементов управления данными в приложении ADF и убедитесь, что определены соответствующие атрибуты.

Пример кода:

<af:iterator var="row" value="#{bindings.MyView1.collectionModel}">
    <af:outputText value="#{row.myProperty}" />
</af:iterator>

Метод 4: отладка и ведение журнала
Если описанные выше методы не решают проблему, возможно, необходимо включить отладку и ведение журнала в приложении ADF. Включите соответствующие уровни журнала для компонентов, связанных с ADF и EL, для сбора подробных сообщений об ошибках. Просмотрите журналы, чтобы выявить любые потенциальные проблемы с разрешением свойств или доступом к данным.

Пример кода:

import oracle.adf.share.logging.ADFLogger;
private static final ADFLogger logger = ADFLogger.createADFLogger(MyBean.class);
public void someMethod() {
    logger.info("Entering someMethod");
    // Your code here
    logger.info("Exiting someMethod");
}

Исключение javax.el.PropertyNotFoundException в ADF можно устранить путем тщательного изучения определений управляемого компонента, проверки выражений EL, проверки компонентов доступа к данным и использования методов отладки и ведения журнала. Следуя этим методам и анализируя соответствующие примеры кода, вы сможете эффективно устранить неполадки и устранить эту ошибку в приложении ADF 12.2.1.4.