Будет ли работать этот фрагмент кода с использованием Beanshell? ⇐ JAVA
-
Anonymous
Будет ли работать этот фрагмент кода с использованием Beanshell?
Итак, У меня возникла проблема с определенным фрагментом кода. В коде используется интерпретатор bean-shell (bsh.Interpeter) для динамического присвоения значений предложению запроса, которое импортируется из текстового файла. Я не разбираюсь в bean-shell, а также Evalerror, который выдает ошибку при возникновении ошибки, не имеет особого смысла. Публикуем сценарий запроса и фрагмент кода.
Скрипт:
Stat = "Имя:{1} И Дата рождения: {2}"; SetValue(1,Person.getName()); Setvalue(2,Person.getDob()); Теперь они передают весь этот сценарий в виде одной строки интерпретатору для оценки, а перед этим они передают Java-объект Person, который содержит имя, dob и другие переменные, используя «set». Идея заключается в создании динамических предложений запроса. используя сценарии текстовых файлов, подобные приведенному выше, где значения запросам будут присваиваться динамически с помощью setvalue и вызова установщиков из объекта. Объект заранее заполняется всей информацией.
Фрагмент кода:
Интерпретатор i=new Interpreter(); пытаться{ i.set("Человек",p); //p — объект человека с предварительно заполненными данными. i.eval(query);//запрос содержит приведенный выше скрипт String s=(String)i.get("Stat"); System.out.print(s); } поймать (EvalError е) { System.out.println(e); } Теперь при выполнении возникает какая-то ошибка, и ошибка Evalerror выдает что-то вроде команды не найдена, setvalue(....), похоже, что setvalue либо не поддерживается во время выполнения, либо существует какой-то неправильный синтаксис. Это было бы будет полезно, если доступна какая-то помощь, будет ли этот код работать или его нужно будет сделать каким-то другим способом.
Итак, У меня возникла проблема с определенным фрагментом кода. В коде используется интерпретатор bean-shell (bsh.Interpeter) для динамического присвоения значений предложению запроса, которое импортируется из текстового файла. Я не разбираюсь в bean-shell, а также Evalerror, который выдает ошибку при возникновении ошибки, не имеет особого смысла. Публикуем сценарий запроса и фрагмент кода.
Скрипт:
Stat = "Имя:{1} И Дата рождения: {2}"; SetValue(1,Person.getName()); Setvalue(2,Person.getDob()); Теперь они передают весь этот сценарий в виде одной строки интерпретатору для оценки, а перед этим они передают Java-объект Person, который содержит имя, dob и другие переменные, используя «set». Идея заключается в создании динамических предложений запроса. используя сценарии текстовых файлов, подобные приведенному выше, где значения запросам будут присваиваться динамически с помощью setvalue и вызова установщиков из объекта. Объект заранее заполняется всей информацией.
Фрагмент кода:
Интерпретатор i=new Interpreter(); пытаться{ i.set("Человек",p); //p — объект человека с предварительно заполненными данными. i.eval(query);//запрос содержит приведенный выше скрипт String s=(String)i.get("Stat"); System.out.print(s); } поймать (EvalError е) { System.out.println(e); } Теперь при выполнении возникает какая-то ошибка, и ошибка Evalerror выдает что-то вроде команды не найдена, setvalue(....), похоже, что setvalue либо не поддерживается во время выполнения, либо существует какой-то неправильный синтаксис. Это было бы будет полезно, если доступна какая-то помощь, будет ли этот код работать или его нужно будет сделать каким-то другим способом.
Мобильная версия