. 이 표현식은 일반적으로 수학적 표현식이며 ui를 통해 사용자가 제공합니다. 추가 된 측면은 이러한 표현식이 구성의 일부이며 나중에 다른 프로세스의 일부로 만 평가된다는 것입니다. 또한 표현식에 사용 된 변수 값은 나중에이 프로세스의 일부로 만 사용할 수 있습니다. 따라서 우리는 표현 작성시 사용자에게 기본 유효성 검증을 제공하여 사용자가 평가 시간에 그의 표현이 넘어지지 않는다는 것을 알기를 원합니다. juel 발현 검증
우리는 전에 이것에 대한 JANINO을 사용하지만, 우리가 JUEL와이를 교체하는 - 그것은 훨씬 더 빨리 (그리고 우리가 저점을 얻기 위해 평가의 많은이, 처리량 등 중요하다). 또한 JUEL은 정확히 같은 구문으로 작동합니다. 즉, 백엔드에 연결할 수 있으며 이전 버전과 호환됩니다. (그냥 이전 JANINO 식의 주위에${..}
을 추가해야
을 우리가 JUEL 하나의 문제가하지만 -이 평가되기 전에 식의 유효성을 검사 할 수있는 방법이 사용되고있다
이 같은즉 무엇인가.? 올바르게 다음 println(result)
을하는
context.getVariableMapper().setVariable("a",expressionFactory.createValueExpression(new Double(1), double.class));
context.getVariableMapper().setVariable("b", expressionFactory.createValueExpression(new Double(2), double.class));
ValueExpression expression = expressionFactory.createExpression("${a+b}", double.class, context);
Object result = expression.getValue(context);
내가 표현 A + B를 요리 할 수 JANINO으로 3
를 출력하고, 형식이 잘못되었거나 잘못된 반환 형식을 반환하는 경우 (즉, double이 아니다) 나는 예외를 얻을 것이다. 그런 다음이를 사용하여 즉시 사용자 입력의 유효성을 검사하고 예를 들어 사용자에게 오류를 수정하도록합니다. 구성을 저장합니다.
JUEL로 이것을 수행하는 방법이 있습니까? 아니면 다른 방법을 아는 사람이 있습니까?
, 감사합니다루카스
당신이 질문을하고 답변을 얻을 경우, 항상 반응의 일종을 보여주는 좋은 스타일이다. – chris