Java]イントラマートのJava開発で特に必要なものはアクションクラスと呼ばれる基幹クラスとページの構造を構築するJSPファイルの2つになります。EEとSAStrutsをベースに設計されているので、イントラマートではこの2つの手法を利用しコーディングを行ないます。最初にコンパイルされ処理が実行されるクラスで原則作成するページの分だけ必要になります。今回の記事では、イントラマート上でウェブコンテンツを作成する基礎をご紹介したいと思います。Javaクラスの変数をJSPにデータとして受け渡す仕組みを見ていきます。Actionクラスの仕組みを理解する開発ソフトのe-Builderでプロジェクトを作成します。パッケージ名は任意で構いませんが、Webサーバのdiconファイルで起動プログラムのパスの設定が必要となります。初めに作成するものはActionクラスです。e-Builder上では以下のようなディレクトリに配置します。相対パスの開始ディレクトリになります。例の通り、actionディレクトリにSapleAction.javaというクラスを配置すれば、イントラマート側ではimart/sample/というURLに変換されて表示処理されます。javaでJSPを読み込むまでの処理の流れアクションクラスで定義したpublic修飾子のフィールド変数はJSP上で、呼び出しを行なうことが可能です。通常、アクションクラスの各メソッドで、戻り値として設定したJSPのパスを元にページ構成が行われます。JSP内ではこの時return処理したアクションクラス内のフィールド変数の値しか呼び出せません。Javaの変数データをJSPで出力したいなら、フィールド変数を用意する必要がありますね。JavaとJSP間によるデータの登録処理などを実装する際、データ送信の仕組みを押さえておかなければなりません。(実装によっては動的通信。)あくまでユーザがページを表示する際にアクション処理として動作するので、それ以外の操作では細かいロジックを実装しない限りは、その間はJavaが動作することはありません。ページの表示処理が完了したら、ユーザが操作するページのベースはHTMLにすぎません。javaのサーブレットHttpServletRequesクラスの仕組みHTMLではFormタグなどによって、Inputタグなどの入力情報を、遷移先ページに送信することができますね。Javaベースで設計されたウェブシステムでは、データの登録処理をする際に、FormタグによってPOSTやJSON形式などで、送信処理を実装します。送信時に遷移先のページが表示され、その際にサーバにFormタグ内の入力情報を送信することができます。送信される入力情報は各セレクタにname属性を指定したものに限ります。スポンサードリンクPOSTやJSONで送信されたデータを取得する遷移先ページに対応するアクションクラスのメソッドの引数に、HttpServletRequest型の引数を用意します。POSTやGET形式などデータを取得し格納することが可能です。"JSPのパス";}getParameter(“JSPから送信されたデータのname値”);を利用することで、JSPのnameプロパティに格納されたvalueのデータを取得できます。交換言語として使われるJSONの場合は、以下のような処理を実装します。"JSPのパス";}ただ、この機能だけを用いる場合、毎回、送信されたデータを取得する処理を実装しなくてはなりません。POSTやGET、JSONなどデータ送信タイプも考慮してコーディングするのは非常に面倒ですし、何よりもコーディングが美しくありません。そこでActionFormアノテーションという機能を実装するとかなり便利です。ActionクラスにActionFormアノテーションを実装するそもそもアノテーションとはなんだろうか?意味合いとしては「注釈」を表しており、Javaでは変数やメソッド、クラスなどの要素に決められた属性を付加させるようなイメージになります。今回は「ActionForm」というアノテーションをご紹介します。変数データとして取得する際はHttpServletRequestクラスを利用します。毎回これを実装するのは少々面倒ですし、その後のデータ処理をするには、自動的に一括で変数データを取得できた方が楽ですよね?その時に便利なのが「ActionForm」アノテーションです。効率よくJSPのデータをJava側に送信することが可能です。仕組みとしてはPOSTやJSON形式による送信処理でページ遷移する際に、@ActionFormのアノテーションを実装したフィールド変数のクラスに、そのまま自動的に代入することができます。null;}}実際にはActionFormとは送信処理時のrequestをサーブレットを通して、JSP内のname属性名と遷移作アクションクラスのActionFormに設定したクラスの変数名が一致する場合、JSPで送信したデータをそのまま自動的に代入処理を行なうことができます。データ送信タイプを意識することなく、自動代入処理を共通化してくれるので、すごく楽です。ActioFormアノテーションを実装する時は、「Resource」アノテーションもセットで実装して下さい。一応このResourceアノテーションは、コンポーネントという自動起動設定ができます。今はstaticというどのクラスから呼び出しても値が保持される静的データとしてイメージした方がわかりやすいでしょう。ちなみに@resourceを付加した場合は、必ず変数の型名と変数名の名前を合わせておきましょう。名前が一致しないと、Java実行時に対象の変数のクラス型の自動起動に失敗してエラーになります。一応diconファイルにクラスパスとコンポーネント名を指定すれば、別名も使えますが、面倒なので合わせます。最新の記事よっきパソコンが大好きな青年。職業はプログラマ/SE。フリーランスとしてウェブサイトの構築・保守の業務に従事。専門学校とパソコンスクールで講師も担当。幼少期からパソコンが大好きで、趣味がそのまま仕事に転じた。自作PCの魅力に惹かれたのは学生時代の頃。自作PC専門ブログで、お得な情報を紹介しています。最終更新日:2017年8月17日コメントを残す返信をキャンセルする。published)サイト上に表示された文字を入力してください。業:IT系の講師/フリーランスJavaやPHPなどを中心にWEB系エンジニアとして活動しています。自作PCの魅力にハマり、何台も組み立て経験は豊富。自作PCアドバイザー的なこともやってるので、気軽にご相談下さい!!趣味でホームページ制作をしています。お仕事の依頼をしてみませんか?WordPressテーマ・プラグイン開発、自作PC組立代行などお仕事の依頼はこちらでお願いします。Reserved.このページの先頭へ。