私はJSPを持っています
<%@taglib uri="http://Java.Sun.com/jsf/facelets" prefix="ui" %>
ただし、エラーが発生します
絶対URI: http://Java.Sun.com/jsf/facelets このアプリケーションでデプロイされたweb.xmlまたはjarファイルでは解決できません
私は図書館を持っていますfacelets-lib.jar
およびjsf-facelets-1.1.10.jar
、これはFaceletsだと思いますが、JSPtaglib記述子は含まれていません。
どのファイルが正しいですか?
Faceletsは、JSP全体をreplaceすることを目的としています。しかし、それでもあなたはそれをJSPtaglibとして宣言しようとしています。これは決してうまくいきません。どちらも別個のビューテクノロジーです。 Faceletsは、JSPの後継となるように設計されたXMLベースのビューテクノロジです。 2009年12月にリリースされたJava EE 6)では、JSFの標準ビューテクノロジとしてすでにJSPに取って代わり、JSPは非推奨になりました。
ファイル拡張子の名前を.jsp
から.xhtml
に変更し、すべてのJSP taglib宣言をXML名前空間宣言に置き換え、すべての<jsp:xxx>
タグとすべての<% %>
スクリプトレットを削除する必要があります。
したがって、たとえば、次の基本的なJSPテンプレートpage.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://Java.Sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://Java.Sun.com/jsf/html"%>
<!DOCTYPE html>
<f:view>
<html lang="en">
<head>
<title>JSP page</title>
</head>
<body>
<h:outputText value="JSF components here." />
</body>
</html>
</f:view>
page.xhtml
として書き直す必要があります
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://Java.Sun.com/jsf/core"
xmlns:h="http://Java.Sun.com/jsf/html"
xmlns:ui="http://Java.Sun.com/jsf/facelets">
<head>
<title>Facelet page</title>
</head>
<body>
<h:outputText value="JSF components here." />
</body>
</html>
最後に、言及されたJARファイルはFacelets 1.x JARですが、Facelets 2.xは2009年から JSF 2.x実装 の一部としてすでにリリースされています。可能であれば、Facelets 1.xをスキップして、Facelets2.xを続行することを強くお勧めします。
JSF 2を使用している場合は、jsf-api.jar
とjsf-impl.jar
が必要になります。
JSF 1を使用している場合は、 ここ を参照してください。