Как интегрировать плагин Facebook со страницей JSF 2? - PullRequest
1 голос
/ 26 ноября 2011

Я бы хотел добавить кнопку «Мне нравится» на своей странице в Facebook, поэтому вот результат:

<!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.

1 Ответ

2 голосов
/ 26 ноября 2011

Игнорировать предупреждение. Это исходит от Facelets, которая представляет собой технологию представления на основе XML и ожидает, что все пространства имен XML будут ссылаться на библиотеки тегов Facelets. Предполагается, что это предупреждение будет полезно во время разработки для случая, когда вы пытаетесь обратиться к библиотеке тегов Facelets, которой вообще нет в пути к классам. Например, когда вы пытаетесь использовать компоненты RichFaces, но на самом деле забыли установить RichFaces.

В случае Facebook пространство имен XML фактически должно интерпретироваться JavaScript на стороне клиента, и оно работает нормально, так что вы можете спокойно проигнорировать предупреждение. В любом случае он не появится, если для javax.faces.PROJECT_STAGE установлено значение Production. Эти предупреждения появляются только тогда, когда он установлен на Development.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...