{"id":379,"date":"2023-05-25T03:21:40","date_gmt":"2023-07-19T09:33:15","guid":{"rendered":"https:\/\/www.silicloud.com\/ja\/blog\/index.php\/2023\/11\/30\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/"},"modified":"2025-07-31T23:08:04","modified_gmt":"2025-07-31T14:08:04","slug":"jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/","title":{"rendered":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb"},"content":{"rendered":"<p>JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3078\u3088\u3046\u3053\u305d\u3002Java Server Faces\uff08JSF\uff09\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u306f\u3001UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u518d\u5229\u7528\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f5c\u6210\u3092\u5bb9\u6613\u306b\u3059\u308b\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002JSF\u306f\u3001\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3001\u304a\u3088\u3073\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3092\u5206\u96e2\u3059\u308b\u30e2\u30c7\u30eb\u30d3\u30e5\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30d1\u30bf\u30fc\u30f3\uff08MVC\uff09\u306b\u57fa\u3065\u3044\u3066\u8a2d\u8a08\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>JSF \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/h2>\n<p>\u6700\u8fd1\u3001\u79c1\u306f\u305f\u304f\u3055\u3093\u306eJSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u66f8\u3044\u3066\u304d\u305f\u306e\u3067\u3001\u3053\u306eJSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306f\u3001JSF\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u5b66\u3076\u305f\u3081\u306b\u9806\u756a\u306b\u3059\u3079\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u9032\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u6295\u7a3f\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u307b\u3068\u3093\u3069\u306eJSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306b\u306f\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u53ef\u80fd\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306ezip\u30d5\u30a1\u30a4\u30eb\u304c\u4ed8\u5c5e\u3057\u3066\u304a\u308a\u3001\u4f8b\u3092\u901a\u3057\u3066\u5b66\u3076\u305f\u3081\u306b\u3044\u304f\u3064\u304b\u306e\u5909\u66f4\u3092\u52a0\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u521d\u5fc3\u8005\u5411\u3051\u306eJSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>JSF\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u59cb\u3081\u308b\u305f\u3081\u306e\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u306a\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u3059\u3002\u57fa\u672c\u7684\u306a\u8a73\u7d30\u3092\u3059\u3079\u3066\u53d6\u5f97\u3057\u3001\u6700\u521d\u306eMaven\u30d9\u30fc\u30b9\u306e\u300cHello World\u300dJSF\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002JSF\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u57fa\u672c\u7684\u306a\u77e5\u8b58\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u521d\u5fc3\u8005\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u304b\u3089\u59cb\u3081\u3066\u3055\u3089\u306b\u6a5f\u80fd\u3092\u5b66\u3076\u65b9\u6cd5\u304c\u5e38\u306b\u6700\u9069\u3067\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>Primefaces\u3092\u4f7f\u7528\u3057\u305f\u521d\u5fc3\u8005\u5411\u3051JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\nPrimefaces\u306fJSF\u306e\u4ed5\u69d8\u306e\u4e2d\u3067\u6700\u3082\u4eba\u6c17\u306e\u3042\u308b\u5b9f\u88c5\u306e\u4e00\u3064\u3067\u3059\u3002Primefaces\u306b\u95a2\u3059\u308b\u591a\u304f\u306e\u6295\u7a3f\u3092\u516c\u958b\u3057\u3066\u304d\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u6295\u7a3f\u3067\u306fJSF\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3082\u30ab\u30d0\u30fc\u3057\u3066\u3044\u307e\u3059\u3002\u4ed6\u306eJSF\u306e\u5b9f\u88c5\u3082UI\u3092\u91cd\u8996\u3057\u305f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u308b\u70b9\u3092\u7406\u89e3\u3059\u308b\u305f\u3081\u306b\u3001\u305c\u3072\u8aad\u3093\u3067\u307f\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/p>\n<p>JSF\u30d3\u30e5\u30fc\u30da\u30fc\u30b8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8 &#8211; \u30e9\u30d9\u30eb\u3001\u753b\u50cf\u3001\u30dc\u30bf\u30f3\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9<br \/>\nJSF\u30d3\u30e5\u30fc\u30da\u30fc\u30b8\u306e\u521d\u5fc3\u8005\u5411\u3051\u6295\u7a3f\u3067\u3059\u3002\u30e9\u30d9\u30eb\u3001\u753b\u50cf\u3001\u30dc\u30bf\u30f3\u306a\u3069\u306e\u30b7\u30f3\u30d7\u30eb\u306a\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u8ffd\u52a0\u3057\u3001\u7c21\u5358\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306e\u7ba1\u7406\u30d3\u30fc\u30f3\u3068\u7d50\u3073\u3064\u3051\u308b\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3059\u3002<\/p>\n<p>JSF\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb\u306e\u4f8b\u306b\u95a2\u3059\u308b\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\nUI\u306e\u30e9\u30d9\u30eb\u3001\u65e5\u4ed8\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u30e1\u30c3\u30bb\u30fc\u30b8\u306a\u3069\u306eUI\u30c6\u30ad\u30b9\u30c8\u8981\u7d20\u3092\u30da\u30fc\u30b8\u306b\u30cf\u30fc\u30c9\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001\u5225\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3059\u308b\u73fe\u8c61\u3092\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb\u3068\u547c\u3073\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001JSF\u306f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u5fdc\u3058\u3066\u3001\u30d5\u30a3\u30fc\u30eb\u30c9\u30bf\u30a4\u30d7\u3084\u30d5\u30a3\u30fc\u30eb\u30c9\u9577\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306a\u3069\u306e\u3044\u304f\u3064\u304b\u306e\u6a19\u6e96\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb\u3092\u4f7f\u7528\u3057\u3066\u30ed\u30fc\u30ab\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3044\u3001\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3066\u6a19\u6e96JSF\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u7528\u306e\u30ab\u30b9\u30bf\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u63d0\u4f9b\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<p>JSF\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\n\u3053\u306e\u6295\u7a3f\u3067\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306eJSF\u30d0\u30ea\u30c7\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u30e6\u30fc\u30b6\u30fc\u306b\u7d44\u307f\u8fbc\u307f\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u3059\u308b\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3059\u3002\u307e\u305f\u3001JSF HTML\u30bf\u30b0\u306e\u4f7f\u7528\u4f8b\u3082\u7c21\u5358\u306b\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>JSF\u30da\u30fc\u30b8\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\n\u30da\u30fc\u30b8\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306f\u3001\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u308a\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u308a\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u306b\u57fa\u3065\u3044\u3066\u30da\u30fc\u30b8\u3092\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3059\u308b\u3053\u3068\u3067\u3059\u3002\u30da\u30fc\u30b8\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306e\u5b9a\u7fa9\u65b9\u6cd5\u306f\u3055\u307e\u3056\u307e\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u306f\u3001\u300c\u9001\u4fe1\u30dc\u30bf\u30f3\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u5c5e\u6027\u306b\u30da\u30fc\u30b8\u540d\u3092\u6307\u5b9a\u3059\u308b\u300d\u3001\u300c\u7ba1\u7406\u30d3\u30fc\u30f3\u3067\u30da\u30fc\u30b8\u3092\u6307\u5b9a\u3059\u308b\u300d\u3001\u300cfaces-config.xml\u3067\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3059\u308b\u300d\u3001\u300c\u6761\u4ef6\u306b\u57fa\u3065\u3044\u3066\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3092\u5b9a\u7fa9\u3059\u308b\u300d\u306a\u3069\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306b\u3064\u3044\u3066\u4f8b\u3092\u4ea4\u3048\u306a\u304c\u3089\u5b66\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>JSF UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30bf\u30b0\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\nJSF\u306f\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30d9\u30fc\u30b9\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3042\u308a\u3001JSF\u306e\u30d1\u30ef\u30fc\u306f\u7ba1\u7406\u30d3\u30fc\u30f3\u3068\u5bb9\u6613\u306b\u7d71\u5408\u3067\u304d\u308b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30bf\u30b0\u306b\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u6295\u7a3f\u3067\u306f\u3001id\u3001for\u3001value\u3001style required\u3001size\u306a\u3069\u306eJSF HTML\u30bf\u30b0\u3067\u4f7f\u7528\u3055\u308c\u308b\u7570\u306a\u308b\u5c5e\u6027\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<p>JSF\u30d5\u30a9\u30fc\u30e0\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\n\u30d5\u30a9\u30fc\u30e0\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30d3\u30b8\u30cd\u30b9\u30b7\u30ca\u30ea\u30aa\u3092\u5b9f\u88c5\u3059\u308b\u30e2\u30c7\u30eb\u306b\u9001\u4fe1\u3059\u308b\u305f\u3081\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3068\u30c7\u30fc\u30bf\u3068\u9001\u4fe1\u6a5f\u80fd\u3067\u3059\u3002\u30d5\u30a9\u30fc\u30e0\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306fJSF\u3067\u3088\u304f\u4f7f\u7528\u3055\u308c\u308b\u3082\u306e\u3067\u3001\u307b\u3068\u3093\u3069\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30ed\u30b0\u30a4\u30f3\u3001\u767b\u9332\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u5024\u306e\u633f\u5165\u307e\u305f\u306f\u66f4\u65b0\u306a\u3069\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u9001\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092\u6271\u3044\u307e\u3059\u3002\u3053\u306e\u6295\u7a3f\u3067\u306f\u3001JSF\u30da\u30fc\u30b8\u3067\u30d5\u30a9\u30fc\u30e0\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3068\u3001\u4f8b\u984c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u304a\u3051\u308b\u7570\u306a\u308b\u5c5e\u6027\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<p>JSF\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<br \/>\nJSF\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5f62\u5f0f\u3067\u30c7\u30fc\u30bf\u306e\u8ffd\u52a0\u3001\u8868\u793a\u3001\u7de8\u96c6\u304c\u3067\u304d\u307e\u3059\u3002JSF\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306b\u306f\u3001\u30e9\u30d9\u30eb\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9\u3001\u30c6\u30ad\u30b9\u30c8\u30a8\u30ea\u30a2\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u3053\u306e\u6295\u7a3f\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u30bf\u30b0\u306e\u4f7f\u7528\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3001\u4f8b\u984c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f7f\u7528\u3057\u3066\u5b66\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>JSF\u30b3\u30de\u30f3\u30c9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30bf\u30b0\u306e\u4f8b<\/p>\n<pre class=\"post-pre\"><code>JSF Command components are used for performing action and navigation in the JSF pages. This post explains about the h:commandButton and h:commandLink tags with example project.\r\n<\/code><\/pre>\n<ol>JSF\u306edataTable\u30bf\u30b0\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<pre class=\"post-pre\"><code>The data bound table components are responsible for displaying the relational data in a tabular format. The h:dataTable tag is used for displaying the data components. The h:column tag iterates over each record in the data source displayed in rows. This is a very important component tag and you should understand it's usage and working carefully through the example project in the post.\r\n<\/code><\/pre>\n<ol>JSF\u306eselectManyListBox\u30bf\u30b0\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>JSF allows users to select multiple values for a single field with the help of h:selectManyListBox tag which corresponds to select tag in standard HTML. This post explains it's usage and different attributes of this tag with a working example.\r\n<\/code><\/pre>\n<ol>JSF\u306eFacelet\u30bf\u30b0\u306e\u4f8b\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<pre class=\"post-pre\"><code>JSF provides a special set of tags that gives the flexibility to manage common tags\/parts in one place for more than one application. These tags allow us to create a common layout that can be used across applications. These are called facelets tags and this post explains about different facelets tags in detail with working example code.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u30fc\u30e2\u30c7\u30eb\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>JSF Event and Listener model is based on the JavaBeans Specification. An event is defined as a signal triggered based upon the user actions such as click of button, hyperlink, changing the input value etc. JSF tells the component to invoke the appropriate listener class that process the event generated by the user. This article explains about different events with example projects.\r\n<\/code><\/pre>\n<ol>JSF\u30d5\u30a9\u30fc\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>Form validations are common features in almost all web frameworks. JSF validation model defines a set of standard classes for validating the UI components. The JSF library defines a group of core tags that corresponds to `javax.faces.validator.Validator` implementations. Apart from the standard error messages validation model allows us to define the custom validations. Validations in JSF can be categorized into Imperative and Declarative.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30eb\u30fc\u30eb\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<pre class=\"post-pre\"><code>Navigation rules specifies the navigation between the pages on click of button or hyperlink. Navigation can be specified in terms of the logical outcome such as success, failure or through action method. Navigation rules can be specified in faces-config.xml with the help of navigation-rule tag.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u30e1\u30bd\u30c3\u30c9\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>Navigations can also be handled in JSF by writing methods in the managed bean. These methods should be public, take no parameters and should returns an object or a view name. The method is invoked in the action attribute of the JSF page. You will learn about this way of navigation through example project in the post.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u5f0f\u8a00\u8a9e\uff08EL\uff09\u306e\u4f8b\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<pre class=\"post-pre\"><code>JSF Expression Language enables users to access the data dynamically from the JavaBeans components using various expressions. The EL supports the following kinds of expressions - Immediate value expressions or Deferred value expressions, Value expression or method expression and rvalue or lvalue expressions. Check out this post to understand about these in detail with example code.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u7ba1\u7406\u3001\u8a8d\u8a3c\u3001\u30ed\u30b0\u30a4\u30f3\u30ed\u30b0\u30a2\u30a6\u30c8\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>Authentication mechanism allows users to have secure access to the application by validating the username and password. This tutorial shows you how to build session management with authentication in JSF application by using JSF view for login, DAO object, HttpSession for session management and JSF managed bean and mysql database.\r\n<\/code><\/pre>\n<ol>JSF\u3068JDBC\u306e\u7d71\u5408\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/ol>\n<pre class=\"post-pre\"><code>Java Server Faces can be connected to database to perform operations on the data using JDBC API. This is a simple post where you will learn how to use JDBC API in a JSF based web application.\r\n<\/code><\/pre>\n<ol>JSF\u3068Spring Framework\u306e\u7d71\u5408\u306e\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>JSF is a component based framework with great focus on user interfaces. Whereas Spring framework core principle is Dependency Injection. So it makes sense to integrate JSF with Spring framework where JSF will be used for user interfaces and Spring framework will be used for backend server side business logic. This is an important article where you will learn how to integrate both these great frameworks and using the best features of each one.\r\n<\/code><\/pre>\n<ol>JSF\u3001Spring\u3001Hibernate\u306e\u7d71\u5408\u306b\u95a2\u3059\u308b\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u4f8b<\/ol>\n<pre class=\"post-pre\"><code>JSF, Spring Framework and Hibernate - these three frameworks can be used together to build stunning web application where JSF components provide stunning UI, Spring components provide loose coupling through dependency injection and Hibernate takes care of interaction with database.\r\n<\/code><\/pre>\n<ol>JSF\u306e\u30a4\u30f3\u30bf\u30d3\u30e5\u30fc\u306e\u8cea\u554f\u3068\u56de\u7b54<\/ol>\n<pre class=\"post-pre\"><code>Finally if you are going to an interview and expecting JSF interview questions, then make sure you go through there. There are more than 50 questions with detailed answers that touch all the areas of JSF framework and help you in getting ready for the interview.\r\n<\/code><\/pre>\n<p>JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u7d22\u5f15\u30dd\u30b9\u30c8\u306f\u4ee5\u4e0a\u3067\u3059\u3002\u65b0\u3057\u3044JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u8a18\u4e8b\u3092\u66f8\u304f\u305f\u3073\u306b\u3001\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u3082\u3057JSF\u306e\u91cd\u8981\u306a\u6a5f\u80fd\u3092\u898b\u9003\u3057\u3066\u3044\u308b\u3068\u601d\u308f\u308c\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30e1\u30f3\u30c8\u3067\u304a\u77e5\u3089\u305b\u3044\u305f\u3060\u3051\u308c\u3070\u3001\u305d\u308c\u306b\u3064\u3044\u3066\u306e\u6295\u7a3f\u3084\u30ea\u30b9\u30c8\u3078\u306e\u8ffd\u52a0\u3092\u8a66\u307f\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3078\u3088\u3046\u3053\u305d\u3002Java Server Faces\uff08JSF\uff09\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u306f\u3001UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u518d\u5229\u7528\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f5c\u6210\u3092\u5bb9\u6613\u306b\u3059\u308b\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002JS [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26,61],"class_list":["post-379","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-26","tag-61"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/ja\/blog\/jsf\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\" \/>\n<meta property=\"og:description\" content=\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/ja\/blog\/jsf\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-19T09:33:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T14:08:04+00:00\" \/>\n<meta name=\"author\" content=\"\u7d50\u8863, \u6625\u82b1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u7d50\u8863, \u6625\u82b1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"18\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/\",\"name\":\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\"},\"datePublished\":\"2023-07-19T09:33:15+00:00\",\"dateModified\":\"2025-07-31T14:08:04+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/e52a686063ac76fd8cc6f539d41497ac\"},\"description\":\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/ja\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/e52a686063ac76fd8cc6f539d41497ac\",\"name\":\"\u7d50\u8863, \u6625\u82b1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c74c6e2eb915a3c8e795b3934aa25a7333e0b38e7f1c7baf52785286ad51105e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c74c6e2eb915a3c8e795b3934aa25a7333e0b38e7f1c7baf52785286ad51105e?s=96&d=mm&r=g\",\"caption\":\"\u7d50\u8863, \u6625\u82b1\"},\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/author\/yuiharuka\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb - Blog - Silicon Cloud","description":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/ja\/blog\/jsf\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\/","og_locale":"ja_JP","og_type":"article","og_title":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb","og_description":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","og_url":"https:\/\/www.silicloud.com\/ja\/blog\/jsf\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-07-19T09:33:15+00:00","article_modified_time":"2025-07-31T14:08:04+00:00","author":"\u7d50\u8863, \u6625\u82b1","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u7d50\u8863, \u6625\u82b1","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"18\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/","url":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/","name":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website"},"datePublished":"2023-07-19T09:33:15+00:00","dateModified":"2025-07-31T14:08:04+00:00","author":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/e52a686063ac76fd8cc6f539d41497ac"},"description":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/ja\/blog\/"},{"@type":"ListItem","position":2,"name":"JSF\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website","url":"https:\/\/www.silicloud.com\/ja\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/e52a686063ac76fd8cc6f539d41497ac","name":"\u7d50\u8863, \u6625\u82b1","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c74c6e2eb915a3c8e795b3934aa25a7333e0b38e7f1c7baf52785286ad51105e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c74c6e2eb915a3c8e795b3934aa25a7333e0b38e7f1c7baf52785286ad51105e?s=96&d=mm&r=g","caption":"\u7d50\u8863, \u6625\u82b1"},"url":"https:\/\/www.silicloud.com\/ja\/blog\/author\/yuiharuka\/"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/jsf%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/comments?post=379"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/379\/revisions"}],"predecessor-version":[{"id":39838,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/379\/revisions\/39838"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/media?parent=379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/categories?post=379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/tags?post=379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}