JSF2.1+RichFaces4.2.2による実践的なWebアプリケーションを開発する。
※005では、ログイン画面のログインボタン位置をセル中央にします。
【手順1】
1.「index.xhtml」を以下の様に修正。
※Styleシートを埋め込みで追加しfooterクラスを追加。
※h:panelGridタグで、footerClass="footer"でスタイルシートのクラスを指定。
<html xmlns="http://www.w3c.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <h:head> <title>書き取りサービス【ログイン画面】</title> <style type="text/css"> <!-- .footer { text-align: center; } --> </style> </h:head> <h:body onload="loginId.focus()"> <h:panelGrid columns="2" border="1" footerClass="footer"> <h:outputLabel value="ログインID" /> <h:inputText id="loginId" tabindex="1" /> <h:outputLabel value="パスワード" /> <h:inputSecret tabindex="2" /> <f:facet name="footer"> <h:commandButton value="ログイン" tabindex="3" /> </f:facet> </h:panelGrid> </h:body> </html>
2.「サーバーをデバッグモードで起動する方法」の手順で、サーバーを再起動します。
3.ブラウザで以下のURLにアクセスします。
http://localhost:8080/kakitori/faces/index.xhtml
4.以下の様に表示されれば成功です。
※ログインボタンがセル中央になっています。
【課題】
001.ログインIDのテキストフィールドにフォーカスが入ったときにIMEの入力がなぜか「かなモード」になるのでIMEの制御が必要。
002.画面表示時にログインIDのテキストフィールドにフォーカスの移動が必要。⇒OK
003.「Tab」キーを押下時に「ログインID」⇒「パスワード」⇒「ログインボタン」⇒最初に戻るの制御が必要。⇒OK
004.h:panelGridでのカラムの連結方法が不明なので、facetのfooterでカラムを連結させたが、正式なカラムの連結方法があれば変更する。
005.ログインボタンの横位置を制御し、セル中央に移動させる。⇒OK
006.ログイン情報のh:panelGrid自体を、画面中央に移動させる。
007.IDの命名方法の検討が必要。
008.「Tab」キーの押下時にTabIndexが最後の場合、最初のTabIndexに移動する制御が必要。
以上です。