TOP比較データ> LoginForm.javaの修正
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! PHP & Java 〜 フレームワーク編

第5回:Strutsで機能を実装してみよう
著者:ワイズノット  土橋 芳孝   2006/1/20
前のページ  1  2  3   4  次のページ
LoginForm.javaの修正

   (5)のLoginForm.javaは、ログイン画面より入力されたログインIDとパスワードを保持するLoginForm.classのソースコードです。

   本連載の第3回からの変更点としては、LoginFormの親クラスをValidatorFormとしている点です。LoginFormの親クラスをValidatorFormにすることでStrutsに備えられた入力チェック機能を利用することが可能となります。
LoginForm.java
import org.apache.struts.action.*;
import org.apache.struts.validator.ValidatorForm;

public final class LoginForm extends ValidatorForm {

   private String id;
   private String password;
(省略)
MessageResources.propertiesの追加

   (6)のMessageResources.propertiesは、メッセージを保持するプロパティファイルです。また、MessageResources.propertiesによってメッセージの表示方法も指定可能です。

MessageResources.properties
errors.header=
errors.prefix=
errors.suffix=<BR>
errors.footer=

errors.required={0}を入力してください
errors.login=正しい値を入力してください

loginForm.id=ログインID
loginForm.password=パスワード
SampleUser.javaの追加

   (7)のSampleUser.javaは、登録者の情報を保持するSampleUser.classのソースコードです。

SampleUser.java
public final class SampleUser {

   private String id;
   private String password;
   private String name;

   public void setId(String id) {
      this.id = id;
   }

   public String getId() {
      return this.id;
   }

   public void setPassword(String password) {
      this.password = password;
   }

   public String getPassword() {
      return this.password;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getName() {
      return this.name;
   }
}
build.xmlの修正

   (8)のbuild.xmlは、JavaベースのビルドツールであるAntの動作を定義するための設定ファイルです。本連載の第3回からの変更点としては、Sample/WEB-INF/src/java/にShift_JISで格納されたMessageResources.propertiesをUTF-8に変換し、Sample/WEB-INF/classesに格納する点です。

build.xml
(省略)

   <target name="clean">
      <delete>
         <fileset dir="${classes.dir}">
            <include name="*.class" />
            <include name="*.properties" />
         </fileset>
      </delete>
   </target>

   <target name="compile">
      <javac srcdir="${src.dir}" destdir="${classes.dir}">
         <classpath refid="compile.classpath"/>
      </javac>
   </target>

   <target name="native2ascii">
      <native2ascii
         encoding="Shift_JIS"
         src="${src.dir}"
         dest="${classes.dir}"
         includes="MessageResources.properties"
         ext="" />
      <move
         file="${classes.dir}/MessageResources"
         tofile="${classes.dir}/MessageResources.properties" />
   </target>


   <target name="all" depends="clean,compile,native2ascii" />

</project>
struts-config.xmlの修正

   (9)のstruts-config.xmlは、Strutsの動作を定義するための設定ファイルです。本連載の第3回からの変更点としては、ログイン画面のログインボタンを押した際に動作するアクションクラスであるLoginActionのreturn値が"error"であった場合、ログイン画面に遷移してエラーメッセージを表示する点です。

struts-config.xml
(省略)
   <action-mappings>
      <action
         path="/Login"
         type="LoginAction"
         name="loginForm"
         scope="request"
         input="/pages/login.jsp"
         validate="true"
>
         <forward name="success" path="/pages/top.jsp" />
         <forward name="error" path="/pages/login.jsp" />
      </action>
      <action
         path="/Logout"
         type="LogoutAction">
         <forward name="success" path="/pages/login.jsp" />
      </action>
   </action-mappings>

   <message-resources parameter="MessageResources" />

   <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
      <set-property
         property="pathnames"
         value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
   </plug-in>

</struts-config>
前のページ  1  2  3   4  次のページ


ワイズノット
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第5回:Strutsで機能を実装してみよう
  これまでのサンプル・アプリケーションに機能を追加する
  Sample.xmlの修正
LoginForm.javaの修正
  validation.xmlの追加