BeanUtilsとPropertyUtilsがJava属性を動的に取得するアプリケーション
ダイナミックフォームの場合、get/setで直接オブジェクトに値を割り当てるのはよくありません.プロパティの名前がダイナミックなので、Javaのツールクラスでこの操作を行うことができます.
基本的な考え方はHASHMAPに値を入れることです(name,value) では、BeanUtils.populate(Class,HashMap(name,value); それでいいです.
JavaBeanの値を直接取得することはできません.取得する属性の名前も動的であるため、PropertyUtilsで目的を達成することもできます.
基本的な考え方はHASHMAPに値を入れることです(name,value) では、BeanUtils.populate(Class,HashMap(name,value); それでいいです.
Map baseValues = new HashMap();
for (Iterator it = baseMap.values().iterator(); it.hasNext();) {
PreceptConfigField field = (PreceptConfigField) it.next();
Object value = null;
try {
value = request.getParameter(field
.getName());
} catch (Exception e) {
String error = " !";
log.error(error, e);
errors.add(error);
}
baseValues.put(field.getName(), value);
}
try {
PolicyBeanUtil.populate(tScheme, baseValues);
} catch (Exception e) {
String error = " !";
log.error(error, e);
errors.add(error);
}
JavaBeanの値を直接取得することはできません.取得する属性の名前も動的であるため、PropertyUtilsで目的を達成することもできます.
String value = "";
if(this.scheme != null){
Object temp = PolicyBeanUtil.getProperty(this.scheme, field.getName());
if(temp != null){
value = temp.toString();
}