<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Video of Getting Started with PrimeFaces Development in Java EE Applications</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <meta name="description" content="A screencast that introduces the basics of Java EE 6 support in NetBeans IDE">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    </head>
    <body>

        <!--
        Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved.
        -->

        <h1>Video of Getting Started with PrimeFaces Development in Java EE Applications</h1>

        <table>
            <tr>
                <td class="valign-top">

                    <p>This screencast demonstrates the 
                        integration of PrimeFaces in Java EE applications.</p>

                    <p><a href="http://bits.netbeans.org/media/javaee-html5-primefaces.mp4">Download / Watch full size</a> (63 MB)</p>

                </td>

                <td width="486" class="valign-top align-center">

                    <script src="/images_www/js/mediaplayer-5.9/jwplayer.js" type="text/javascript"></script>                   
                    <div id="player" >
                        <center>
                            <div id="flashContent"></div>
                        </center>
                    </div>
                    <script type="text/javascript">
                        $(function() {
                            var targetFile = 'http://bits.netbeans.org/media/javaee-html5-primefaces.mp4';
                            jwplayer('flashContent').setup({
                                'id': 'flashContentId',
                                'width': '530',
                                'height': '340',
                                'autostart': 'true',
                                'file': targetFile,
                                'controlbar': {position: 'bottom'},
                                'modes': [
                                    {type: 'html5'},
                                    {type: 'flash', src: '/images_www/js/mediaplayer-5.9/player.swf'},
                                    {type: 'download'}
                                ]
                            });
                        });
                    </script>

                </td>

            </tr>

            <tr>
                <td colspan="2">
                    <br style="clear:both;">
                    <div class="feedback-box">
                        <a href="/about/contact_form.html?to=3&amp;subject=Feedback: Getting Started with PrimeFaces Development in Java EE Applications">Send Feedback on This Tutorial</a>
                    </div>
                </td>
            </tr>

        </table>

        <h2>Related links</h2>

        <ul>
            <li><a href="http://docs.oracle.com/javaee/7/tutorial/doc/">The Java EE 7 Tutorial</a></li>
            <li><a href="https://netbeans.org/features/java-on-server/java-ee.html">NetBeans Feature Pages: Java Enterprise Edition Support</a></li>
            <li><a href="https://netbeans.org/kb/trails/java-ee.html">Java EE & Java Web NetBeans Learning Trail</a></li>
        </ul>

    </body>

</html>
