我是JAVA 8和SPRING MVC的新手。我有一个java bean,它是一个带有setter和getter的POJO。我使用反射的Spring Web服务将请求参数映射到POJO。 我想使用注释进行输入验证。我有一个要求,我需要读取注释字段的所有值,并检查至少提供一个值。我写了一个示例代码....但不知道如何获得分配给现场的价值。如果您有以下内容,请分享示例代码:
public boolean isValid(String object, ConstraintValidatorContext constraintContext) {
boolean canProceed = false;
for(Field field : DocumentSearchRequest_global.class.getDeclaredFields())
{
if (field.isAnnotationPresent(ValidDocumentModifiedDate.class))
{
String name = field.getName();
//IAM ABLE TO GET THE NAME OF THE FIELD
System.out.println("1.name : "+ name);
System.out.println("2. "+field.getType().getName());
}
}
// Method[] method = DocumentSearchRequest_global.class.getDeclaredMethods();
for (Method method :DocumentSearchRequest_global.class.getDeclaredMethods() )
{
System.out.println(method.getName() );
//ABLE TO GET NAME OF THE GETTER AND SETTER METHODS IN THE POJO
//CAN U SUGGEST HOW TO READ THE VALUE OF A PARTICULAR FIELD.. EITHER BY //GETTING THE VALUE FROM THE GET METHOD??? ...
}
答案 0 :(得分:0)
您可以通过调用method.invoke(Object, Object...)
来获取值,其中第一个参数是要在哪个方法上执行的类实例,第二个变量参数是方法的参数。在你的情况下,它将为null或为空。这是简单的代码段Object value = method.invoke(DocumentSearchRequest_global_instance);