我有一个 Spring MVC Web 应用程序,我在其中使用 JPA 和 Hibernate 注释(加上我自己的自定义注释)。 假设我有这个对象:
public class User{
@Size(min = 2, max = 20)
private String name;
}
有没有办法从jsp页面获取我的对象的注释值? 类似的东西
${User.name.Size.min}
我希望我已经说清楚了。
提前谢谢
最佳答案
听起来您不应该这样做,但这可能会帮助您开始。我会创建另一个类来进行反射(reflection)。 jsp 将通过 getter 查找属性。
public class UserAnnotationResolver {
public static FieldAnnotationResolver getName() {
try {
return new UserAnnotationResolver().new FieldAnnotationResolver(User.class.getDeclaredField("name"));
} catch (NoSuchFieldException e) {
}
return null;
}
public class FieldAnnotationResolver {
private Field field;
public FieldAnnotationResolver(Field field) {
this.field = field;
}
SizeAnnotationResolver getSize() {
return new SizeAnnotationResolver(field.getAnnotationsByType(Size.class)[0]);
}
}
public class SizeAnnotationResolver {
Size size;
public SizeAnnotationResolver(Size size) {
this.size = size;
}
public int getMin() {
return size.min();
}
public int getMax() {
return size.max();
}
}
}
关于java - 如何检索 JSP 页面中 POJO 字段的注释(JPA 和 Hibernate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38976396/