strutsのDynaActionFormではprimitiveなフィールドにinitial属性がないとNullPointerExceptionで落ちました。DynaActionFormはMapだしそらそうですよね。
DynaActionFormClassクラス。
public DynaBean newInstance() throws IllegalAccessException, InstantiationException { DynaActionForm dynaBean = (DynaActionForm) getBeanClass().newInstance(); dynaBean.setDynaActionFormClass(this); FormPropertyConfig props[] = config.findFormPropertyConfigs(); for (int i = 0; i < props.length; i++) { dynaBean.set(props[i].getName(), props[i].initial()); } return (dynaBean); }
config.findFormPropertyConfigs();で設定ファイルからform-property取ってます。dynaBean.set(props[i].getName(), props[i].initial());のprops[i].initial()でinitial属性を取得。initial属性がなければnull。