我已经建立了一个基本的spring boot web mvc应用程序,并在我的视图上显示了这样的表达式:
${foo.bar}
Foo对象具有如下结构:
public class Foo {
public String get(String name){
return "something calclulated";
}
public void set(String name, String value){
doSomething(name, value);
}
}
我的JSTL表达式失败,因为Foo不包含bar的getter,出于结构上的原因,我无法实现它。
是否可以在spring中添加自定义字段访问器,如果我尝试访问Foo类型的bean,该访问器使用我的“ get”和“ set”方法代替寻找正确的getter或setter呢?
类似这样的东西:
public class FooAccessor {
getFieldValue(String fieldName, Foo target){
return target.get(fieldName);
}
setFieldValue(String fieldName, String fieldValue, Foo target){
target.set(fieldName, fieldValue)
}
}
经过研究,我找到了PropertyAccessor接口,BeanWrapperImpl类也使用该接口
不幸的是,我没有找到有关添加自定义字段访问器的任何示例或解决方案。