ページの先頭行へ戻る
 Formcoordinatorユーザーズガイド

7.1.2 電子フォームの表示時にラジオボタンやチェックボックスを選択状態にするには

Webアプリケーションでラジオボタン項目やチェックボックス項目の状態を設定するときは、XmlDataAccessクラスのsetValue()メソッドで、電子フォームで指定しているラジオボタン項目やチェックボックス項目の選択時情報・非選択時情報の文字列を指定します。
この場合、電子フォーム内に設定されているラジオボタン項目のプロパティのダイアログボックスの[ラジオボタン]タブで、[初期表示選択]の[選択する]チェックボックスがオフでなければなりません。
電子フォーム内に設定されているラジオボタン項目のプロパティのダイアログボックスの[ラジオボタン]タブで、[初期表示選択]の[選択する]チェックボックスがオンの場合は、OutputDataBuilderクラスのsetXMLData()メソッドを利用しないで電子フォームで指定した初期表示状態で表示したい場合だけ利用してください。

例:

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import javax.servlet.ServletException;
import com.fujitsu.form.*;

public class SampleServlet extends HttpServlet {

  public void doPost(HttpServletRequest request,
                         HttpServletResponse response)
    throws IOException, ServletException
  {
    try{
      InputDataBuilder idb = new InputDataBuilder(request);
      OutputDataBuilder odb =
        new OutputDataBuilder(
            request,java.net.URLEncoder.encode(
            "file:///c:/pmd",System.getProperty("file.encoding")), "sample");
      //SolarisおよびLinuxの場合は以下のように記述します。
      //    "file:////home/pmd",System.getProperty("file.encoding")), "sample");

      // 雛形からXmlDataAccessオブジェクトを生成します。
      XmlDataAccess xda = new XmlDataAccess(odb.getTemplateXMLData());

      // 入力データをXmlDataAccessオブジェクトに反映します。
      xda.copy(idb.getXMLData());

      // ラジオボタン項目の東京本店を選択します。
      //   ・東京本店に選択時情報「東京」を設定します。
      //   ・大阪支店に非選択時情報「その他」を設定します。
      //   ・名古屋支店に非選択時情報「その他」を設定します。
      // 東京本店/大阪支店/名古屋支店は、同一のラジオボタングループです。
      xda.setValue("本支店/東京本店",   "東京");
      xda.setValue("本支店/大阪支店",   "その他");
      xda.setValue("本支店/名古屋支店", "その他");

      // ラジオボタン項目の開発部を選択します。
      //   ・開発部に選択時情報「Development」を設定します。
      //   ・電子フォームに指定されている、営業部および総務部の非選択時情報が
      //     空の場合は、空のオブジェクトを指定します。
      // 開発部/営業部/総務部は、同一のラジオボタングループです。
      xda.setValue("部署/開発部", "Development");
      xda.setValue("部署/営業部", "");
      xda.setValue("部署/総務部", "");

      // チェックボックス項目の請求を選択します。
      xda.setValue("請求", "する");

      // 上記で設定したデータをOutputDataBuilderオブジェクトに設定します。
      odb.setXMLData(xda.getDocument(), false);
    }
    catch(Exception e){
      // 例外処理
                    ・
                    ・
                    ・
    }
  }
}