Tôi có một đơn giản biểu thức mùa xuân Bean, giúp đánh giá tốt khi tôi định nghĩa nó bên trong một tập tin bối cảnh ứng dụng:lập trình đánh giá một biểu thức đậu với mùa xuân Expression Language
<bean id="myConfigBean" class="com.example.myBeanConfigBean">
<property name="myProperty" value="#{ someOtherBean.getData() }"/>
</bean>
Bây giờ, tôi muốn làm việc đánh giá cùng một lập trình . Tôi đã sử dụng đoạn mã sau:
final ExpressionParser parser = new SpelExpressionParser();
final TemplateParserContext templateContext = new TemplateParserContext();
Expression expression = parser.parseExpression("#{ someOtherBean.getData() }", templateContext);
final String value = (String) expression.getValue();
này ném một ngoại lệ:
EL1007E:(pos 22): Field or property 'someOtherBean' cannot be found on null
Tôi đoán tôi phải thiết lập một đối tượng gốc bằng cách nào đó cho phép cho đậu được cấu hình như một tài sản. Nhưng tôi đã không làm cho nó hoạt động được. Bất cứ ai, những người đã làm điều này đã và có thể đưa ra một gợi ý?
Tôi có thể sử dụng biểu thức trên mà không có biểu tượng '@' không? @ someOtherBean.getData() >> someOtherBean.getData(). – RiyasAbdulla
Không có cấu hình bổ sung; xem chỉnh sửa cho câu trả lời của tôi. Bạn thực sự nên hỏi một câu hỏi mới - các quản trị viên ở đây không thích câu hỏi mới trong các bình luận. –