我想将“喜欢”按钮集成到我的页面,所以结果如下:
<!DOCTYPE html>
<html lang="pt-br"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:fb="http://ogp.me/ns/fb#">
<h:head>
</h:head>
<h:body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<filled with my app id>', // App ID
channelURL : '//www.suaparte.org', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div id="header">
<ui:insert name="header">
Header area. Please insert the header!
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
Content area. Please insert the content!
</ui:insert>
</div>
<div id="footer">
<fb:like href="suaparte.org" send="true" width="450" show_faces="true"></fb:like>
</div>
</h:body>
</html>
出现“喜欢”按钮但下方显示以下消息:
Warning: This page calls for XML namespace http://ogp.me/ns/fb# declared with prefix fb but no taglibrary exists for that namespace.
答案 0 :(得分:2)
忽略警告。它来自Facelets,这是一种基于XML的视图技术,并期望所有XML命名空间都引用Facelets标记库。在您尝试引用类路径中根本不存在的Facelets标记库的情况下,此警告应该在开发期间有用。例如,当您尝试使用RichFaces组件但忘记实际安装RichFaces时。
在Facebook的情况下,XML命名空间实际上由客户端的JavaScript解释,并且它工作正常,因此您可以安全地忽略该警告。如果您将javax.faces.PROJECT_STAGE
设置为Production
,则无论如何都不会显示。这些警告仅在设置为Development
时出现。