Исключение, выполняющее последствие для правила "имя переменной" в правиле drools - PullRequest
0 голосов
/ 21 января 2019

Я получаю следующее исключение:

Следствие выполнения исключения для правила "abc" ...

Я пытаюсь передать значение statecode(LHS) в моем файле JSP. и проверьте, является ли выбранное значение statecode==AS или нет.

  • Как я могу проверить, передано ли значение LHS или нет? Как я могу напечатать значение statecode в моей консоли?
  • Как передать динамическое значение в моем jsp в drl с помощью весенней загрузки?

Я новичок в разработке слюн.

Мой код правила:

package rules
import com.myapp.ApplFormBean

rule "checkstate"
dialect "java"
when 
$applbean:ApplFormBean(stateCode=="AS")
then
   System.out.println("StateIs: "+$applbean.stateCode);
end

1 Ответ

0 голосов
/ 21 января 2019

Вы должны добавить Исключение '* полное сообщение, а также класс ApplFormBean к вашему вопросу.

, если у вас есть метод получения для stateCode, в этом случае используйте

System.out.println("StateIs: "+$applbean.getStateCode());

в вашем then утверждении.

Второй вопрос как-то больше о том, как написать веб-приложение, а не о Drools.

Вы должны рассмотреть это следующим образом (как шаблон MVC):

  • Вы публикуете форму JSP на стороне сервера.
  • Затем конкретный контроллер обрабатывает запросы из этой формы JSP..
  • Служба, которая вызывает API Drools для запуска ваших правил, будет вызываться контроллером.

На этом этапе (Drools service API) вам, вероятно, следует построить KieSession объект из kmodule.xml и вставка объекта, который вы хотите оценить

kieSession.insert(applbean);

В конце концов, контроллер направляет вывод из этой службы в JSP.

...