SE成長痛日記

アラサーSEが技術力を高めるために日々感じる痛みを綴るBlogです。

Ajaxを使う

今回はAjaxの機能をみてみます。 一番簡単な処理として、 あるリンクを押下すると、サーバ処理で文字列を生成し、 その結果を指定の場所に出力する。 というものを作ってみます。 JSFのAjax処理では、まずイベントの起点となるタグに対して、 jsf:ajaxタグを…

複合コンポーネントのインターフェイスに何が渡せるか

表題どおりです。 複合コンポーネントのインターフェイスに何が渡せるのか調査してみます。 前回は、3つのString型でしたが、 オブジェクトそのものが渡せると、夢がきっと広がります。 まず次のように定義して受け取ることができるか確認します。 <composite:interface> <composite:attribute name="name"/> <composite:attribute name="mail"/> <composite:attribute name="body"/> <composite:attribute name="responce"/> </composite:attribute></composite:attribute></composite:attribute></composite:attribute></composite:interface>

JSFで複合コンポーネントを作成して利用する

JSFでは、複数のコンポートを束ねて切り出して1つのコンポーネントとして扱うことができます。 何度も同じように使用される部分を切り出して、再利用できたら便利ですよね? 前回のやつから投稿したレスの部分を複合コンポーネントにしてみます。 <ui:repeat var="respon" value="#{responseBean.responseList}" > <div> <h:outputText value="#{respon.name}"/> <h:outputText value="#{respon.mail}"/> </h:outputtext></h:outputtext></div></ui:repeat>

JSFのカスタムバリデータを作成する

今回はカスタムバリデータを作成してみます。 入力されたメールアドレスに 特殊な文字があった場合に、エラーをだすように してみたいと思います。 バリデータを作成するにはjavax.faces.validator.Validatorを実装した クラスを作成し、alidate(FacesContex…

JSFのカスタムコンバータを作成する

今回は、PROCESS_VALIDATIONSフェーズで行っている、 コンバート処理とバリデーション処理に関する実装をしてみます。 コンバート処理 JSFではUIコンポーネントを生成後、 HTMLリクエスト パラメータ内の文字列をJavaのオブジェクトに変換して、 Beanの各プ…

JSFのライフサイクルを理解する

前回で、初期表示 → サーバ処理 → 再表示という 単純な挙動の処理を実装したので、 ここで改めて、各ライフサイクルがどう動いているかがわかるように、 少しコードをいじりたいと思います。 管理Beanを次のように編集してBeanのライフサイクルを見てみます…

JSFにマネージドビーンを追加する その3

前回作成したやつは、投稿ボタンを押下する度に、 文字列を付け足していくものでしたが、 見た目が悪いので、繰り返し構造を持つものに 修正したいと思います。 まず、情報の保持形式をまとも(投稿オブジェクトを作成、リストで保持するように変更)にしま…

JSFにマネージドビーンを追加する その2

前回、作成してうまく動かなった部分ですが、 単純にアノテーションのimportがまちがっており、修正したら正しく動作しました。 では今回は、「投稿」ボタンを押下したら、 レスが上に表示されるような仕組みを作成します。 細かい体裁やクラス構造はいった…

JSFにマネージドビーンを追加する

前回作成したJSFにマネージドビーン(管理Bean)を紐付けてみます。 まず初期表示時に、管理Beanの指定する文字列を各テキストエリアのプレースホルダとして表示するように してみたいと思います。 投稿管理ということで、ResponseBeanとし、 定数文字列を追加…

JSFでWEBページを作成する その3

前回作成したJSFページをいじって 入力フォームを備えたページにしてみます。 某掲示板ぱくって名前とメアドと投稿内容を指定できるformを作成してみました。 で、出力されたHTMLは以下みたいな感じです。 <html xmlns="http://www.w3.org/1999/xhtml"><head id="j_idt2"> <title>Facelet Title</title></head><body> </body></html>

JSFでWEBページを作成する その2

前回JSFでページ作ったときに、追加されたweb.xmlを見ていたのですが、 ひとつ重要なことを見逃してました。 <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/face…</url-pattern></servlet-mapping>

JSFでWEBページを作成する

前回作成したからのWEBアプリケーションプロジェクトにJSFでWEBページを作成したいと思います。 WEBページフォルダを右クリックして、JSFページを選択して、ファイル名「Sample」と入力し、 finishを押下します。 この状態で一度実行してみます。 http://loc…

netbeansを使用してgithubのリポジトリにプロジェクトを登録する

前回作成したWEBアプリケーションプロジェクトをgithubのリポジトリとして登録します 参考にしたサイト qiita.com 大きな流れは以下。 githubにリポジトリ作成 netbeansでプロジェクトのローカルgitリポジトリを作成してコミット ローカルリポジトリをgithub…

Apache NetBeans10.0でwebアプリケーションプロジェクトを作る その2

前回、起動ボタンが出ていなかったので調べました。 どうやらApache netbeansでは、Java EEが同梱されていないみたいです。 英語のサイトを参考に、Java EEを使えるように設定しました。 Java EE/Jakarta EE Support for NetBeans 9 - DZone Java まず、tool…

Apache NetBeans10.0でwebアプリケーションプロジェクトを作る

(2019/4/1) この記事は失敗談なので、その2をみることをおすすめします。 しばらくプログラミングから離れてる間に(管理/リーダという名のExcelをごにょごにょするお仕事してました) Netbeansがver10.0にしかも運営がapache財団になっていました。 という…

ひとり疑似プロジェクトでスキルを高める(実装編 ログイン機能 -1-))

さてさて、思い立ってから約1ヶ月半。 本来の目的の実装周りにようやく到着してきました。。。。 ではまず、手始めにログイン周りの実装を行いたいと思います。 ここで検討すべきなのは、Java EEにおける認証機能。 とりあえず調べるとレルムというものを用…

ひとり疑似プロジェクトでスキルを高める(要件定義編)

前回は、大したことないし、 さっと決めたいとか言ってけど、機能がいっぱいありすぎて無理だった・・・・ ここで決めることは、 システムの目的/利用者/どんな機能を持っているか/本質的UI/概念データモデル。 くらいにしてたんだけど、すでにお腹いっぱい(…

ひとり疑似プロジェクトでスキルを高める

仕事だけではスキルはあがらない SE6年目にして実感。今やっていることは、 外部設計でExcelをこねくり回しているだけ(無心でExcel方眼紙作業をやっている)。 やはり、内部設計や実装、単体テストとかもやってみたい。 (しかもできるだけ最新の技術使って…