<?xml version='1.0' encoding='UTF-8'?>
<chapter>
  
      <table>
      <title>Component identification parameters </title>
      <tgroup cols="2">
        <thead>
          <row>
            <entry>Name</entry>
            <entry>Value</entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry>component-type</entry>
            <entry>org.ajax4jsf.components.Page</entry>
          </row>
          <row>
            <entry>component-family</entry>
            <entry>org.ajax4jsf.components.AjaxRegion</entry>
          </row>
          <row>
            <entry>component-class</entry>
            <entry>org.ajax4jsf.component.html.HtmlPage</entry>
          </row>
          <row>
            <entry>renderer-type</entry>
            <entry>org.ajax4jsf.components.AjaxPageRenderer</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  
  <section>
    <title>Creating on a page</title>
    <para>This component should be defined as a child component for <emphasis role="bold">
        <property>&lt;f:view&gt;:</property>
      </emphasis></para>
    <programlisting role="XML"><![CDATA[<f:view>
 <a4j:page>
  <f:facet name="head">
   <!--...Head Content here-->
  </f:facet>
   <!--...Page Content here-->
 </a4j:page>
</f:view>
]]></programlisting>
    <para>This structure is rendered as:</para>

  <para>
      <emphasis role="bold">Example:</emphasis>
 </para>
    <programlisting role="XML"><![CDATA[<HTML>
 <HEAD> 
 <!--...Head Content here-->
 </HEAD> 
<body >
 <!--...Page Content Here-->
</body> 
</HTML>]]></programlisting>
  </section>
  <section>
    <title>Dynamical creation of a component from Java code</title>

  <para>
      <emphasis role="bold">Example:</emphasis>
 </para>
    <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.HtmlPage;
...
HtmlPage myPage = new HtmlPage();
...
]]></programlisting>
  </section>
  <section>
    <title>Key attributes and ways of usage</title>
    <para>The component is mostly used to solve the following problem with MyFaces for erlier Ajax4jsf versions: in MyFaces <emphasis role="bold">
        <property>&lt;f:view&gt;</property>
      </emphasis> doesn&apos;t get control over the &quot;<emphasis >
        <property>RENDER_RESPONSE</property>
      </emphasis>&quot; phase, thus Ajax can&apos;t get control and make a response also. To avoid this problem it was necessary to use <emphasis role="bold">
        <property>&lt;a4j:page&gt;</property>
      </emphasis> on a page round the Ajax updatable area. In the last versions of both frameworks the problem is successfully  fixed and no <emphasis role="bold"><property>&lt;a4j:page&gt;</property></emphasis> usage is required.</para>
    <para>The component is rendered as a full HTML page template (it was shown in the example). The &quot;<emphasis >
        <property>head</property>
      </emphasis>&quot; section is defined with the help of the corresponding facet with the name=&quot;head&quot; and also there is an attribute with the same name for<emphasis><property> &quot;contentType&quot; </property></emphasis>definition.</para>
    </section>
  
  <section>
    <title>Relevant resources links</title>
	<para>
	  <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/page.jsf?c=page">Here
	   </ulink>  you can see the example of <emphasis role="bold"
	     ><property>&lt;a4j:page&gt;</property></emphasis> usage and sources for the given example.
	</para>  	
  </section>
  
</chapter>
