設定ファイル・・・

うーん。やっぱり設定ファイルを書くのはメンドくさい。
なんでかなー。
よーわからんけど。


特にやなのがXMLで書く設定ファイル。
みればわかるとおもうけど

  <!-- ========== Action Mapping Definitions =================================== -->
  <action-mappings>

    <!-- auth -->
    <action
        path="/auth"
        type="jp.co.symphony.stos.web.party.AuthAction"
        name="logonForm"
        scope="request"
        unknown="false"
        validate="false"
    >
      <forward
          name="logon"
          path="/pages/logon.jsp"
          redirect="false"
      />
    </action>
    <action
      path="/logon"
      type="org.apache.struts.actions.ForwardAction"
      parameter="/do/auth?/auth:logonInit="
    />
    <action
      path="/logoff"
      type="org.apache.struts.actions.ForwardAction"
      parameter="/do/auth?/auth:logoff="
    />
    <action
      path="/site/top"
      type="org.apache.struts.actions.ForwardAction"
      parameter="/pages/top.jsp"
    />
    

    <!-- party -->
    <action
        path="/site/party"
        type="jp.co.symphony.stos.web.party.PartyAction"
        name="partyForm"
        scope="request"
        unknown="false"
        validate="false"
    >
      <forward
          name="detail"
          path="/pages/party/detail.jsp"
          redirect="false"
      />
      <forward
          name="success"
          path="/pages/party/detail.jsp"
          redirect="false"
      />

      <forward
          name="insert"
          path="/pages/party/insert.jsp"
          redirect="false"
      />
      <forward
          name="insertConfirm"
          path="/pages/party/insertConfirm.jsp"
          redirect="false"
      />

      <forward
          name="update"
          path="/pages/party/update.jsp"
          redirect="false"
      />
      <forward
          name="updateConfirm"
          path="/pages/party/updateConfirm.jsp"
          redirect="false"
      />

      <forward
          name="deleteConfirm"
          path="/pages/party/deleteConfirm.jsp"
          redirect="false"
      />
      
      <!-- redirect -->
      <forward
          name="searchInit"
          path="/do/site/party/search?/site/party/search:searchInit="
          redirect="true"
      />
      <forward
          name="search"
          path="/do/site/party/search?/site/party/search:search="
          redirect="true"
      />
    </action>

これがどんどん増えていく・・・・struts-config.xmlだけど・・・


最初のころで気合が入ってるときはいいけど、後でみたときに「みなかったことにしよう」と思ってしまう。
小分けにすれば少しは解決することにはなるけど・・・


なんだかねー


一番嫌なのはアプリケーションの規模が大きくなるといっしょの大きくなるところ。もし、struts-config.xmlのファイルサイズが100KB超えたら絶対開きたくない。


あとvalidation.xmlもどうかとおもうなー。
たとえば、この内容だったら、

    <form name="logonForm">
      <field
          property="account"
          depends="required, maxlength">
        <arg0
            key="form.party.account"
        />
        <arg1
            key="${var:maxlength}"
            resource="false"
        />
        <var>
          <var-name>maxlength</var-name>
          <var-value>10</var-value>
        </var>
      </field>
      <field
          property="password"
          depends="required, maxlength">
        <arg0
            key="form.party.password"
        />
        <arg1
            key="${var:maxlength}"
            resource="false"
        />
        <var>
          <var-name>maxlength</var-name>
          <var-value>10</var-value>
        </var>
      </field>
    </form>

プログラム風にしたほうが

logonForm.account.key="form.party.account";
logonForm.account.required();
logonForm.account.maxlength(10);

logonForm.password.key="form.party.password";
logonForm.password.required();
logonForm.password.maxlength(10);

こんな感じでいいような気がするけどなー


でも、web.xmlとかvalidation-rule.xmlは悪い印象はないなー。
やっぱり一度作ったらほとんど変えなくていいからかな。
もしweb.xmlがpropertyファイル形式だったらやだな。
なんかlog4j.propertiesみたいになって悩むんだろうな。


やっぱ、XMLで定義するってことは構成が複雑だから(逆か?構成が複雑だからXMLで定義する)無理にproperty形式にしてもダメなんだと思う。
あっ、、どっちか1つにしようとするからダメなんかも。
複雑なところはXMLで定義して単純なところはアノテーションやproperty形式にすればいいのかも。





アプリケーションの規模といっしょに大きくなる設定ファイルはやだけど、MessageResources.propertiesも別に悪い印象はない。
やっぱ構成が単純だからかなー。




それよりも、自分がXMLをみなれてないだけのような気もしてきた。


XMLをみる練習をするか・・・