JPA + EJB + JSF による Web アプリケーション(その 5)
CSS を作成する
ちょっと間が開きましたが CSS の作成に進みます。Facelets と合わせて、JSF では最も難しい部分と言えます。何しろ Facelets のタグがどんな HTML タグに変換されるかわからないと CSS が書けないからです。
resources/css/customer/search.css
body { background-color : silver } h1 { font-size : x-large; text-align : center } table { margin : auto } p { text-align : center }
resources/css/product/search.css
.name { width : 15em }
後は menu.html にリダイレクトするダミーの index.jsp (ソースコードは省略)と menu.html と resources/css/menu.css を作成します。
menu.html
<!doctype html> <html lang="ja"> <head> <title>JPA + EJB + JSF のサンプル</title> <meta charset="utf-8"> <link rel="stylesheet" href="resources/css/menu.css" type="text/css"> </head> <body> <h1>JPA + EJB + JSF のサンプル</h1> <ul> <li><a href="customer/list.jsf">顧客マスタ一覧</a></li> <li><a href="customer/search.jsf">顧客マスタ参照</a></li> <li><a href="product/search.jsf">商品マスタ検索</a></li> </ul> </body> </html>
リンクは作成した XHTML ファイルの拡張子を .jsf に変えたものになります。
ul { list-style-type: none }
最後に web.xml を掲載しておきます。
<?xml version="1.0"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>JPASampleJSF</display-name> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>jp.mydns.akanekodou.filter.EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>language</param-name> <param-value>ja</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <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>*.jsf</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
servlet と servlet-mapping のところは基本的にいじらない方が良いです。url-pattern だけは *.jsf に決め打ちしたいのでいじっていますが。filter は自前で用意することになります。
後は実際に動かしてみて、ちゃんと動いていることを確認してみてください。しかしこれはまだ JPA としては序の口です。RDBMS では当然のことながらテーブルの結合操作が不可避ですので、次回からはテーブルの結合に関する話をします。