У меня есть приложение 2.2 шва.В основном у меня есть форма с около 30 полей ввода.Каждое поле поддерживается свойством SearchForm.java.Когда я нажимаю «Отправить», я вызываю DevicesList.java (реализует EntityQuery) и перехожу к /DevicesList.xhtml.Все поля ввода и свойства соответствуют перечисленным параметрам DevicesList.page.xml.
Другими словами, в DevicesList.page.xml у нас есть
<param name="hostname" value="#{searchForm.devName}"/>
<param name="loopback" value="#{searchForm.devIp}"/>
<param name="platform" value="#{searchForm.platform}"/>
и т. Д.
Я сильно настраиваю getEjbql () в зависимости от того, какие свойства searchForm установлены.Я прошагал по коду фрейма шва и пытался найти структуру данных для доступа, содержащую список параметров, которые были установлены из формы.Где эти вещи?
Если я ввел строку в поле имени хоста формы, для параметра имени хоста должно быть установлено значение # {searchFrom.devName}.Но как мне узнать, что параметр hostname был установлен?
Единственная альтернатива, которую я могу придумать, - это использовать отражение и пройтись по всем классам SearchFrom, а затем выполнить самоанализ для определения объекта.были установлены и построить мой SQL-запрос из этого.
Должен быть лучший способ.Кто-нибудь знает, как это можно сделать?