![](/img/trans.png)
[英]how to map json field with jpa or hibernate in pojo?
[英]How to retrieve the annotations (JPA and Hibernate) of a field of a POJO in a JSP page
我有一個Spring MVC Web應用程序,在其中使用JPA和Hibernate批注(加上我自己的自定義批注)。 假設我有這個對象:
public class User{
@Size(min = 2, max = 20)
private String name;
}
有沒有辦法從jsp頁面獲取對象的注釋值? 就像是
${User.name.Size.min}
我希望我已經清楚了。
先感謝您
聽起來您不應該這樣做,但這可能會讓您入門。 我將為反射創建另一個類。 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();
}
}
}
實現此目的的另一種方法是創建一個將在注釋中使用的常量:
public class User {
public static final int SIZE_NAME_MIN = 2;
public static final int SIZE_NAME_MAX = 20;
@Size(min = SIZE_NAME_MIN, max = SIZE_NAME_MAX)
private String name;
}
您可以在課堂上或其他地方保持不變
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.