最初、web.xmlで<url-pattern>/faces/*</url-pattern>と書いた場合、http://localhost:8080/jsftest01/faces/test01.jsp と指定すると test01.jspが起動されるのに対し、web.xml で<url-pattern>*.jsf</url-pattern>と指定した場合、http://localhost8080/jsftest01/test01.jsf と指定すると test01.jsp が起動するということに気づくまで時間が掛かりました。最初に誰でも通る道なのでしょうか。
JSFを使ってみる
(1) ディレクトリ構成
jsftest01 ├── WEB-INF │ ├── lib │ │ ├── javax.faces-2.2.1.jar │ │ └── jstl-1.2.jar │ └── web.xml └── test01.jsp 2 directories, 4 files
(2) ライブラリの入手
wget http://repo1.maven.org/maven2/org/glassfish/javax.faces/2.2.4/javax.faces-2.2.4.jar wget http://repo1.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar
(3) web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<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>
</web-app>
(4) test01.jsp
<?xml version="1.0" encoding="utf-8" ?<
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html" version="1.2"<
<jsp:directive.page language="java"
contentType="text/html; charset=utf-8" pageEncoding="utf-8" /<
<html xmlns="http://www.w3.org/1999/xhtml"<
<head<
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /<
<title<JSF Sample</title<
</head<
<body<
<f:view<
<h:outputText value="JSFテストページ" id="text1" /<
</f:view<
</body<
</html<
</jsp:root<
(5) 配備
cp -rp jsftest01 ~/tomcat7/webapps
(6) 実行結果

0 件のコメント:
コメントを投稿