Strutsで画面に何も入力しないと勝手に0が入る

  • Strutsで使っているbeanutilsのIntegerConverterで0にしてしまっている。
  • ConvertUtils.register(new IntegerConverter(null), Integer.class);のようにデフォルトをnullにするように登録すればよい。
  • ActionServletにconvertNull=trueを設定することで、同様のことが可能。
  • その場合には、web.xmlに以下を指定する。
  • 今まで動作していた処理でNullPointerExceptionが発生する危険性はあり。
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>convertNull</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>