[richfaces-svn-commits] JBoss Rich Faces SVN: r2239 - in trunk/docs/userguide/en/src/main/docbook: modules and 1 other directory.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Tue Aug 14 04:52:27 EDT 2007
Author: vkorluzhenko
Date: 2007-08-14 04:52:27 -0400 (Tue, 14 Aug 2007)
New Revision: 2239
Modified:
trunk/docs/userguide/en/src/main/docbook/included/tree.xml
trunk/docs/userguide/en/src/main/docbook/included/treeNode.xml
trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml
Log:
http://jira.jboss.com/jira/browse/RF-391
http://jira.jboss.com/jira/browse/RF-389
Modified: trunk/docs/userguide/en/src/main/docbook/included/tree.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/tree.xml 2007-08-14 07:59:59 UTC (rev 2238)
+++ trunk/docs/userguide/en/src/main/docbook/included/tree.xml 2007-08-14 08:52:27 UTC (rev 2239)
@@ -232,11 +232,10 @@
<listitem>ondragenter - drags an element appearing on a tree event</listitem>
</itemizedlist>
- <para>
- Also standart HTML event attributes like "onclick", "onmousedown", "onmouseover" and etc. could be used.
- Event handlers of a tree component capture events occured on any tree part.
- But event handlers of treeNode capture events occured on treeNode only except for children events.
- </para>
+ <para> Also standart HTML event attributes like "onclick", "onmousedown", "onmouseover" and etc.
+ could be used. Event handlers of a tree component capture events occured on any tree part. But
+ event handlers of treeNode capture events occured on treeNode only except for children events.
+ </para>
</section>
<section>
<title>Look-and-Feel Customization</title>
@@ -293,6 +292,8 @@
<ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/tree.jsf?c=tree">Here</ulink>
you can see the example of <emphasis role="bold"><rich:tree></emphasis> usage
and sources for the given example. </para>
+ <para>How to Expand/Collapse Tree Nodes from code see <ulink
+ url="http://labs.jboss.com/wiki/ExpandCollapseTreeNodes">here</ulink>. </para>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/treeNode.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/treeNode.xml 2007-08-14 07:59:59 UTC (rev 2238)
+++ trunk/docs/userguide/en/src/main/docbook/included/treeNode.xml 2007-08-14 08:52:27 UTC (rev 2239)
@@ -1,47 +1,47 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
-<sectioninfo>
-<keywordset>
-<keyword>node</keyword>
-<keyword>rich:treeNode</keyword>
-<keyword>HtmlTreeNode</keyword>
-</keywordset>
-</sectioninfo>
-
- <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.richfaces.TreeNode</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlTreeNode</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.TreeNode</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.TreeNodeRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.TreeNodeTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
+ <sectioninfo>
+ <keywordset>
+ <keyword>node</keyword>
+ <keyword>rich:treeNode</keyword>
+ <keyword>HtmlTreeNode</keyword>
+ </keywordset>
+ </sectioninfo>
+
+ <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.richfaces.TreeNode</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.richfaces.component.html.HtmlTreeNode</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.TreeNode</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.TreeNodeRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.TreeNodeTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
<section>
<title>Creating the Component with a Page Tag</title>
<para>Here is a simple example as it might be used in a page: </para>
@@ -72,14 +72,17 @@
</section>
<section>
<title>Details of Usage</title>
- <para>
- The <emphasis ><property>"icon"</property></emphasis>,
- <emphasis ><property>"iconCollapsed"</property></emphasis>,
- <emphasis ><property>"iconExpanded"</property></emphasis>,
- <emphasis ><property>"iconLeaf"</property></emphasis>
- attributes define icons for the component. Also you can define icons using facets with the same names. If the facets are defined,
- the corresponding attributes are ignored and facets contents are used as icons. The width of a rendered facet area is 16px.
-<programlisting role="JAVA"><![CDATA[...
+ <para> The <emphasis>
+ <property>"icon"</property>
+ </emphasis>, <emphasis>
+ <property>"iconCollapsed"</property>
+ </emphasis>, <emphasis>
+ <property>"iconExpanded"</property>
+ </emphasis>, <emphasis>
+ <property>"iconLeaf"</property>
+ </emphasis> attributes define icons for the component. Also you can define icons using facets
+ with the same names. If the facets are defined, the corresponding attributes are ignored and
+ facets contents are used as icons. The width of a rendered facet area is 16px. <programlisting role="JAVA"><![CDATA[...
<rich:tree ....>
...
<rich:treeNode ...>
@@ -100,18 +103,18 @@
</rich:tree>
...
]]></programlisting></para>
-
- </section>
- <section>
+
+ </section>
+ <section>
<title>Look-and-Feel Customization</title>
<para>As it has been mentioned above, <property>treeNode</property> defines a template for nodes
- rendering in a tree. Thus, during XML document rendering (a web.xml application) as a tree, the
- following nodes output (passed via var="data" on a tree) happens:</para>
+ rendering in a tree. Thus, during XML document rendering (a web.xml application) as a tree,
+ the following nodes output (passed via var="data" on a tree) happens:</para>
<para>
<emphasis role="bold">Example:</emphasis>
</para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<rich:tree ... faceNode="simpleNode" ... value="#{bean.data}" var="data">
<rich:treeNode type="simpleNode">
<h:outputText value="context-param:"/>
@@ -120,63 +123,70 @@
</rich:tree >
...
]]></programlisting>
-<figure>
- <title>Nodes output</title>
- <mediaobject>
+ <figure>
+ <title>Nodes output</title>
+ <mediaobject>
<imageobject>
- <imagedata fileref="images/tree2.gif"/>
+ <imagedata fileref="images/tree2.gif"/>
</imageobject>
- </mediaobject>
+ </mediaobject>
</figure>
- <para>Hence, outputText outputs the "context-param" string and then the input is output for
- the data.name element of this node.</para>
- <para>Different nodes for rendering could be defined depending on some conditions on the tree level.
- Each condition represents some rendering template. To get more information on various <property>treeNodes</property>
- definition for nodes,
- <link linkend="tree">see the tree component chapter</link>.</para>
+ <para>Hence, outputText outputs the "context-param" string and then the input
+ is output for the data.name element of this node.</para>
+ <para>Different nodes for rendering could be defined depending on some conditions on the tree
+ level. Each condition represents some rendering template. To get more information on various
+ <property>treeNodes</property> definition for nodes, <link linkend="tree">see the tree
+ component chapter</link>.</para>
<para>Switching between expanded/collapsed modes is also managed on the tree level and defined
in <link linkend="tree">the corresponding section</link>.</para>
- <para>Default nodes of the tree level as well as ones defined with the <property>treeNodes</property> component could
- send AJAX requests when selected with the mouse, it's managed with the
- <emphasis ><property>"ajaxSubmitSelection"</property></emphasis> attribute
- (true/false).</para>
- </section>
- <section>
- <title>Built-in Drag and Drop</title>
- <para>The main information on Drag and Drop operations is given in
- <link linkend="tree">the corresponding paragraph</link> of
- the <property>tree</property> component chapter. It's only necessary to mention that each node could also be a Drag
- element as well as a Drop container, i.e. the container and the element have all attributes,
- listeners and ways of behavior similar to the ones of the <emphasis role="bold"><property><rich:draggable></property></emphasis> and <emphasis role="bold"><property><rich:dropZone></property></emphasis> components
- simultaneously.</para></section>
- <section>
- <title>Events Handling</title>
- <para>Just as Drag and Drop operations it corresponds to the one described on
- <link linkend="tree">the tree component level</link> for a default Node.</para>
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
- <para>For skinnability implementation the components use a <emphasis
-><property>style class redefinition method</property></emphasis>.</para>
- <para>Default style classes are mapped on <emphasis
-><property>skin parameters</property>.</emphasis></para>
- <para>To redefine appearance of all treeNodes at once, there are two ways:</para>
- <itemizedlist>
- <listitem>to redefine corresponding skin parameters</listitem>
- <listitem>to add <emphasis
-><property>style classes</property></emphasis> used by the treeNode to your page style sheets</listitem>
- </itemizedlist>
- </section>
- <section>
- <title>Skin parameters redefinition:</title>
- <table>
- <title>Default skins for treeNode element</title>
+ <para>Default nodes of the tree level as well as ones defined with the
+ <property>treeNodes</property> component could send AJAX requests when selected with the
+ mouse, it's managed with the <emphasis>
+ <property>"ajaxSubmitSelection"</property>
+ </emphasis> attribute (true/false).</para>
+ </section>
+ <section>
+ <title>Built-in Drag and Drop</title>
+ <para>The main information on Drag and Drop operations is given in <link linkend="tree">the
+ corresponding paragraph</link> of the <property>tree</property> component chapter.
+ It's only necessary to mention that each node could also be a Drag element as well as
+ a Drop container, i.e. the container and the element have all attributes, listeners and ways
+ of behavior similar to the ones of the <emphasis role="bold">
+ <property><rich:draggable></property>
+ </emphasis> and <emphasis role="bold">
+ <property><rich:dropZone></property>
+ </emphasis> components simultaneously.</para>
+ </section>
+ <section>
+ <title>Events Handling</title>
+ <para>Just as Drag and Drop operations it corresponds to the one described on <link
+ linkend="tree">the tree component level</link> for a default Node.</para>
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+ <para>For skinnability implementation the components use a <emphasis>
+ <property>style class redefinition method</property>
+ </emphasis>.</para>
+ <para>Default style classes are mapped on <emphasis><property>skin
+ parameters</property>.</emphasis></para>
+ <para>To redefine appearance of all treeNodes at once, there are two ways:</para>
+ <itemizedlist>
+ <listitem>to redefine corresponding skin parameters</listitem>
+ <listitem>to add <emphasis>
+ <property>style classes</property>
+ </emphasis> used by the treeNode to your page style sheets</listitem>
+ </itemizedlist>
+ </section>
+ <section>
+ <title>Skin parameters redefinition:</title>
+ <table>
+ <title>Default skins for treeNode element</title>
<tgroup cols="2">
- <thead>
- <row>
- <entry>Default skins for treeNode element</entry>
- <entry>Properties corresponding to CSS parameter</entry>
- </row>
+ <thead>
+ <row>
+ <entry>Default skins for treeNode element</entry>
+ <entry>Properties corresponding to CSS parameter</entry>
+ </row>
</thead>
<tbody>
<row>
@@ -188,20 +198,20 @@
<entry>font-size</entry>
</row>
<row>
- <entry>preferableDataFamilyFont</entry>
- <entry>font-family</entry>
+ <entry>preferableDataFamilyFont</entry>
+ <entry>font-family</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
- <title>Skin parameters for selected Node element</title>
+ <title>Skin parameters for selected Node element</title>
<tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters for selected Node element</entry>
- <entry>Properties corresponding to CSS parameter</entry>
- </row>
+ <thead>
+ <row>
+ <entry>Skin parameters for selected Node element</entry>
+ <entry>Properties corresponding to CSS parameter</entry>
+ </row>
</thead>
<tbody>
<row>
@@ -213,20 +223,20 @@
<entry>background-color</entry>
</row>
<row>
- <entry>headTextColor</entry>
- <entry>color</entry>
+ <entry>headTextColor</entry>
+ <entry>color</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
- <title>Skin parameters for mouseovered Node element</title>
+ <title>Skin parameters for mouseovered Node element</title>
<tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters for mouseovered Node element</entry>
- <entry>Properties corresponding to CSS parameter</entry>
- </row>
+ <thead>
+ <row>
+ <entry>Skin parameters for mouseovered Node element</entry>
+ <entry>Properties corresponding to CSS parameter</entry>
+ </row>
</thead>
<tbody>
<row>
@@ -236,27 +246,31 @@
</tbody>
</tgroup>
</table>
- <para>Hence, to change look and feel of all <property>treeNodes</property> components on an application, change these
- parameters values.</para>
- </section>
- <section>
- <title>Definition custom style classes:</title>
- <para>The following classes are applied to a node element in three states: default, marked,
+ <para>Hence, to change look and feel of all <property>treeNodes</property> components on an
+ application, change these parameters values.</para>
+ </section>
+ <section>
+ <title>Definition custom style classes:</title>
+ <para>The following classes are applied to a node element in three states: default, marked,
mouseovered:</para>
- <itemizedlist>
- <listitem>rich-tree-node</listitem>
- <listitem>rich-tree-node-selected</listitem>
- <listitem>rich-tree-node-highlighted</listitem>
- </itemizedlist>
- <para>Hence, in order to change an appearance of all <property>treeNodes</property> on a page,
- declare and customize the above-mentioned classes in your CSS.</para>
- <para>It is also possible to change look and feel of specific <property>treeNodes</property>
- with the help of defining for them
- <emphasis ><property>"selectedClass"</property></emphasis>
- and <emphasis ><property>"highlightedClass"</property></emphasis>
- attributes by their specific classes.</para>
- </section>
- </section>
-
-
-
\ No newline at end of file
+ <itemizedlist>
+ <listitem>rich-tree-node</listitem>
+ <listitem>rich-tree-node-selected</listitem>
+ <listitem>rich-tree-node-highlighted</listitem>
+ </itemizedlist>
+ <para>Hence, in order to change an appearance of all <property>treeNodes</property> on a page,
+ declare and customize the above-mentioned classes in your CSS.</para>
+ <para>It is also possible to change look and feel of specific <property>treeNodes</property>
+ with the help of defining for them <emphasis>
+ <property>"selectedClass"</property>
+ </emphasis> and <emphasis>
+ <property>"highlightedClass"</property>
+ </emphasis> attributes by their specific classes.</para>
+ </section>
+
+ <section>
+ <title>Relevant resources links</title>
+ <para>How to Expand/Collapse Tree Nodes from code see <ulink
+ url="http://labs.jboss.com/wiki/ExpandCollapseTreeNodes">here</ulink>. </para>
+ </section>
+</section>
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml 2007-08-14 07:59:59 UTC (rev 2238)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml 2007-08-14 08:52:27 UTC (rev 2239)
@@ -44,9 +44,8 @@
<section>
<?dbhtml filename="HowtobuildRichFacessnapshotmanually.html"?>
<title>How to build RichFaces snapshot manually?</title>
- <para>As it was mentioned <link linkend="Wherearethesnapshots">
- before</link> you can download the snapshots or you can build them
- manually. This <ulink
+ <para>As it was mentioned <link linkend="Wherearethesnapshots"> before</link> you
+ can download the snapshots or you can build them manually. This <ulink
url="http://labs.jboss.com/wiki/HowToBuildRichFacesSnapshotManually"
> wiki article</ulink> helps you.</para>
</section>
@@ -81,8 +80,8 @@
url="http://anonsvn.jboss.org/repos/richfaces/trunk/samples/richfaces-demo/"
>here</ulink>.</para>
<para>See also <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&t=113454"
- >how to prevent richfaces-demo deployment failed</ulink>.</para>
+ url="http://www.jboss.com/index.html?module=bb&op=viewtopic&t=113454"
+ >how to prevent richfaces-demo deployment failed</ulink>.</para>
</section>
<section>
@@ -356,11 +355,13 @@
]]></programlisting>
<para>
<note>
- <title>Note:</title>Two rules are important for modalPanel:
- <itemizedlist>
- <listitem>modalPanel must have its own form if it has form elements (input or/and command components) inside (as it was shown in the example above) </listitem>
- <listitem>modalPanel must not be included into the form (on any level up) if it has the form inside.</listitem>
- </itemizedlist></note>
+ <title>Note:</title>Two rules are important for modalPanel: <itemizedlist>
+ <listitem>modalPanel must have its own form if it has form
+ elements (input or/and command components) inside
+ (as it was shown in the example above) </listitem>
+ <listitem>modalPanel must not be included into the form (on
+ any level up) if it has the form inside.</listitem>
+ </itemizedlist></note>
</para>
</section>
@@ -387,12 +388,12 @@
...
]]></programlisting>
</section>
-
+
<section>
<?dbhtml filename="Howtoremembercurrentselectedtab.html"?>
<title>How to remember the current selected tab?</title>
<para> For necessary information you can see discussion about this problem on the
- <ulink
+ <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewtopic&t=111761"
>RichFaces Users Forum</ulink>.</para>
</section>
@@ -510,170 +511,187 @@
</section>
- <section id="DecidingWhatToChangeOnTheServerSide">
- <?dbhtml filename="DecidingWhatToChangeOnTheServerSide.html"?>
- <title>What should I change on the server side?</title>
- <para> As it was mentioned <ulink url="index.html#DecideWhatToChange">before</ulink>, the
- list of zones to be reRendered can be specified as EL expression. But there is a
- question that must be specified more exactly. </para>
- <para> The list of Ids is formed during beforePhase of RENDER_RESPONSE. Therefore, in this
- case one can point reRender to the Set type Bean's property and fill the Set
- during a tracking request. </para>
- <para> It's the way to form a list of updatable areas dynamically. </para>
- </section>
- <section id="CheckSendingRequestConditions.CustomJavaScriptBeforeRequest.OnSubmitAttribute">
- <?dbhtml filename="CheckSendingRequestConditions.CustomJavaScriptBeforeRequest.OnSubmitAttribute.html"?>
+ <section>
+ <?dbhtml filename="HowtoExpand/CollapseTreeNodesfromcode.html"?>
+ <title>How to Expand/Collapse Tree Nodes from code?</title>
+ <para>The answer could be found <ulink
+ url="http://labs.jboss.com/wiki/ExpandCollapseTreeNodes"
+ >here</ulink>.</para>
+ </section>
- <title>How to check sending request conditions? Custom JavaScript before request
- "OnSubmit" attribute.</title>
- <para> To check on the client some terms of request sending, the <emphasis >
- <property>"onSubmit</property>
- </emphasis>" attribute is added to all components, which may cause the request. </para>
- <para>
- <emphasis role="bold">Example: </emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<h:inputText id="i" value="#{beanText.kennung}">
+ <section id="DecidingWhatToChangeOnTheServerSide">
+ <?dbhtml filename="DecidingWhatToChangeOnTheServerSide.html"?>
+ <title>What should I change on the server side?</title>
+ <para> As it was mentioned <ulink url="index.html#DecideWhatToChange"
+ >before</ulink>, the list of zones to be reRendered can be specified as EL
+ expression. But there is a question that must be specified more exactly. </para>
+ <para> The list of Ids is formed during beforePhase of RENDER_RESPONSE. Therefore,
+ in this case one can point reRender to the Set type Bean's property
+ and fill the Set during a tracking request. </para>
+ <para> It's the way to form a list of updatable areas dynamically. </para>
+ </section>
+ <section id="CheckSendingRequestConditions.CustomJavaScriptBeforeRequest.OnSubmitAttribute">
+ <?dbhtml filename="CheckSendingRequestConditions.CustomJavaScriptBeforeRequest.OnSubmitAttribute.html"?>
+
+ <title>How to check sending request conditions? Custom JavaScript before request
+ "OnSubmit" attribute.</title>
+ <para> To check on the client some terms of request sending, the <emphasis>
+ <property>"onSubmit</property>
+ </emphasis>" attribute is added to all components, which may cause
+ the request. </para>
+ <para>
+ <emphasis role="bold">Example: </emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<h:inputText id="i" value="#{beanText.kennung}">
<a4j:support event="onfocus" onsubmit="doSomething();" reRender="panelToReRender"/>
</h:inputText>]]></programlisting>
- <para> So in this case "<emphasis
- ><property>doSomething()</property>"</emphasis> function is executed before
- the AJAX request. </para>
- <para> Besides, if this function returns "false", AJAX request
- isn't fired. </para>
- <note>
- <title>Note:</title>
- <para>Behavior of our <emphasis >
- <property>"onsubmit"</property>
- </emphasis>slightly differs from the standard one. Do not return <emphasis
- >
- <property>"true"</property>
- </emphasis> if you want to fire the request - because <emphasis role="bold">
- <property><xxx><a4j:support
- event="onclick" onsubmit="return
- true;"></property>
- </emphasis> is transformed into <xxx onclick="return true;
- A4J.Submit(.... );" > and the request isn't fired also in
- this case (but the standard event processing fired). You must only return <emphasis
- >
- <property>"false"</property>
- </emphasis> if your conditions weren't completed or perform some actions
- (if needed) without any returns in case you need to fire it. </para>
- </note>
- </section>
- <section id="onCompleteAttribute.DifferencesAfterRelease1.0">
- <?dbhtml filename="onCompleteAttribute.DifferencesAfterRelease1.0.html"?>
- <title> What is differences of "onCompelete" attribute after release 1.0?</title>
- <para> To avoid differences with other JavaScript attributes, a function placement in a
- JavaScript call is changed, instead of simple inserting of attribute content
- (..oncomplete :anotherFunction(this)..), it places (oncomplete:
- function(){anotherFunction(this);}..) in anonymous function, to allow put
- "chain" of statements in attribute. </para>
- <para> Since, <emphasis >
- <property>"this"</property>
- </emphasis> keyword will point to a parameters map instead of a control element as it
- was before. You may use <emphasis >
- <property>document.findElementById()</property>
- </emphasis>to get references to this object after a request is processed as when a page
- is updated in AJAX you will have reference to a control, removed from a DOM tree. </para>
- <para> Or, if you are sure that your element is not updated, you can add <emphasis
- >
- <property>"onsubmit"</property>
- </emphasis> in <emphasis role="bold">
- <property><a4j:support></property>
- </emphasis> (or onclick in <emphasis role="bold">
- <property><a4j:commandLink/Button></property>
- </emphasis>) to place reference to known variable (<emphasis role="bold">
- <property><a4j:commandLink onclick="var myControl=this;"
- oncomplete="anotherFunction(myControl)"/></property>
- </emphasis>). </para>
- <important>
- <title>New:</title>
- <para> The onComplete syntax now is: </para>
- <programlisting role="XML">
+ <para> So in this case
+ "<emphasis><property>doSomething()</property>"</emphasis>
+ function is executed before the AJAX request. </para>
+ <para> Besides, if this function returns "false", AJAX request
+ isn't fired. </para>
+ <note>
+ <title>Note:</title>
+ <para>Behavior of our <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>slightly differs from the standard one. Do not return <emphasis>
+ <property>"true"</property>
+ </emphasis> if you want to fire the request - because <emphasis
+ role="bold">
+ <property><xxx><a4j:support
+ event="onclick"
+ onsubmit="return
+ true;"></property>
+ </emphasis> is transformed into <xxx onclick="return
+ true; A4J.Submit(.... );" > and the request
+ isn't fired also in this case (but the standard event
+ processing fired). You must only return <emphasis>
+ <property>"false"</property>
+ </emphasis> if your conditions weren't completed or perform
+ some actions (if needed) without any returns in case you need to
+ fire it. </para>
+ </note>
+ </section>
+ <section id="onCompleteAttribute.DifferencesAfterRelease1.0">
+ <?dbhtml filename="onCompleteAttribute.DifferencesAfterRelease1.0.html"?>
+ <title> What is differences of "onCompelete" attribute after
+ release 1.0?</title>
+ <para> To avoid differences with other JavaScript attributes, a function placement
+ in a JavaScript call is changed, instead of simple inserting of attribute
+ content (..oncomplete :anotherFunction(this)..), it places (oncomplete:
+ function(){anotherFunction(this);}..) in anonymous function, to allow put
+ "chain" of statements in attribute. </para>
+ <para> Since, <emphasis>
+ <property>"this"</property>
+ </emphasis> keyword will point to a parameters map instead of a control
+ element as it was before. You may use <emphasis>
+ <property>document.findElementById()</property>
+ </emphasis>to get references to this object after a request is processed as
+ when a page is updated in AJAX you will have reference to a control, removed
+ from a DOM tree. </para>
+ <para> Or, if you are sure that your element is not updated, you can add <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis> in <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis> (or onclick in <emphasis role="bold">
+ <property><a4j:commandLink/Button></property>
+ </emphasis>) to place reference to known variable (<emphasis role="bold">
+ <property><a4j:commandLink onclick="var myControl=this;"
+ oncomplete="anotherFunction(myControl)"/></property>
+ </emphasis>). </para>
+ <important>
+ <title>New:</title>
+ <para> The onComplete syntax now is: </para>
+ <programlisting role="XML">
<![CDATA[<someAjaxActionComponent ...oncomplete="myFunc(req,event,data)".../>]]>
</programlisting>
- <para> where the <property>event</property> is a variable where the JS event copy that
- fires the request is placed into. One may use it to get the element instead of this.
- and <property>data</property> is a variable that contains deserialized value from
- the <property>data</property> attribute. </para>
- </important>
- </section>
- <section id="InvokeOnComponentUsingWithJSF1.2">
- <?dbhtml filename="InvokeOnComponentUsingWithJSF1.2.html"?>
- <title>Is it possible to use InvokeOnComponent with JSF 1.2?</title>
- <para> Ajax4jsf currently does not use <emphasis >invokeOnComponent</emphasis>
- because of the 2 reasons: </para>
- <itemizedlist>
- <listitem> Compatibility with JSF 1.1 and MyFaces applications is kept, due to a big
- amount of code used in corporate applications. </listitem>
- <listitem>
- <emphasis > InvokeOnComponent</emphasis> works with already known
- clientId, and works fine for communication between widget and backed component, or
- updates content of already rendered component. But there are some troubles to use
- this method for more complex use-cases implemented in Ajax4jsf, as there is a choice
- for updatable components in application logic, where it's necessary to
- navigate in a components tree by the native id, with
- <property>findComponent()</property> methods. </listitem>
- </itemizedlist>
- <para> Thus, for example, only entire dataTable can be updated in response (but all AJAX
- action components inside table work properly). </para>
- </section>
- <!--<section id="RegionsInDataTables">
+ <para> where the <property>event</property> is a variable where the JS event
+ copy that fires the request is placed into. One may use it to get
+ the element instead of this. and <property>data</property> is a
+ variable that contains deserialized value from the
+ <property>data</property> attribute. </para>
+ </important>
+ </section>
+ <section id="InvokeOnComponentUsingWithJSF1.2">
+ <?dbhtml filename="InvokeOnComponentUsingWithJSF1.2.html"?>
+ <title>Is it possible to use InvokeOnComponent with JSF 1.2?</title>
+ <para> Ajax4jsf currently does not use <emphasis>invokeOnComponent</emphasis>
+ because of the 2 reasons: </para>
+ <itemizedlist>
+ <listitem> Compatibility with JSF 1.1 and MyFaces applications is kept, due
+ to a big amount of code used in corporate applications. </listitem>
+ <listitem>
+ <emphasis> InvokeOnComponent</emphasis> works with already known
+ clientId, and works fine for communication between widget and backed
+ component, or updates content of already rendered component. But
+ there are some troubles to use this method for more complex
+ use-cases implemented in Ajax4jsf, as there is a choice for
+ updatable components in application logic, where it's
+ necessary to navigate in a components tree by the native id, with
+ <property>findComponent()</property> methods. </listitem>
+ </itemizedlist>
+ <para> Thus, for example, only entire dataTable can be updated in response (but all
+ AJAX action components inside table work properly). </para>
+ </section>
+ <!--<section id="RegionsInDataTables">
<?dbhtml filename="RegionsInDataTables.html"?>
<title>Regions in Data Tables</title>
<para>The regions in Data Tables aren't supported now, but the feature will be implemented in a new Ajax4jsf version for JSF 1.2.</para>
</section>-->
- <section id="keepAliveComponentGeneratesException">
- <?dbhtml filename="keepAliveComponentGeneratesException.html"?>
- <title>How to avoid generating exception for "keepAlive" component?</title>
- <para>To avoid exception, don't forget that the component stores beans in
- serialized view, but your bean should implement java.io.Serializable.</para>
- </section>
- <section id="FilterUsageDamagesAnApplicationLayout">
- <?dbhtml filename="FilterUsageDamagesAnApplicationLayout.html"?>
- <title>Why does filter usage damage an application layout?</title>
- <para>Ajax4jsf uses <property>filters</property> for correction of xhtml code received on an
- AJAX response, because when a response is recieved from the server, Ajax4jsf makes
- direct changes in DOM tree and browser doesn't make any corrections in
- generated xhtml. There are two ways for setting <property>filters</property> that could
- be used in an Ajax4jsf-based application.</para>
- <para> The first one:</para>
+ <section id="keepAliveComponentGeneratesException">
+ <?dbhtml filename="keepAliveComponentGeneratesException.html"?>
+ <title>How to avoid generating exception for "keepAlive"
+ component?</title>
+ <para>To avoid exception, don't forget that the component stores beans in
+ serialized view, but your bean should implement java.io.Serializable.</para>
+ </section>
+ <section id="FilterUsageDamagesAnApplicationLayout">
+ <?dbhtml filename="FilterUsageDamagesAnApplicationLayout.html"?>
+ <title>Why does filter usage damage an application layout?</title>
+ <para>Ajax4jsf uses <property>filters</property> for correction of xhtml code
+ received on an AJAX response, because when a response is recieved from the
+ server, Ajax4jsf makes direct changes in DOM tree and browser
+ doesn't make any corrections in generated xhtml. There are two ways
+ for setting <property>filters</property> that could be used in an
+ Ajax4jsf-based application.</para>
+ <para> The first one:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<context-param filter>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<context-param filter>
<display-name>Ajax4jsf Filter</display-name>
<filter-name>ajax4jsf</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>]]></programlisting>
- <para>This <property>filter</property> is based on Tidy Filter usage and recommended for
- applications with complicated or non-standard markup, as all the necessary xhtml code
- corrections are made by the filter when a response comes from the server.</para>
- <para> Anyway, some obvious errors could damage a layout, if it happens, make sure that the
- markup corresponds to the xhtml-strict specification. </para>
- <para>The second one:</para>
+ <para>This <property>filter</property> is based on Tidy Filter usage and recommended
+ for applications with complicated or non-standard markup, as all the
+ necessary xhtml code corrections are made by the filter when a response
+ comes from the server.</para>
+ <para> Anyway, some obvious errors could damage a layout, if it happens, make sure
+ that the markup corresponds to the xhtml-strict specification. </para>
+ <para>The second one:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<filter>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<filter>
<display-name>org.ajax4jsf.FastFilter</display-name>
<filter-name>ajax4jsf</filter-name>
<filter-class>org.ajax4jsf.FastFilter</filter-class>
</filter>]]></programlisting>
- <para>This <property>filter</property> is based on the Nekko pacer. In this case an output
- xhtml code isn't strictly verified and it also could cause lot's of
- errors and corrupt a layout as a result. Though if you sure that your application markup
- is really strict for this filter, the filter considerably accelerates all AJAX requests
- processing. </para>
- <para><emphasis role="bold">Extra information</emphasis>. </para>
- <para>forceParcer parameters setting for <property>filters</property>:</para>
+ <para>This <property>filter</property> is based on the Nekko pacer. In this case an
+ output xhtml code isn't strictly verified and it also could cause
+ lot's of errors and corrupt a layout as a result. Though if you
+ sure that your application markup is really strict for this filter, the
+ filter considerably accelerates all AJAX requests processing. </para>
+ <para><emphasis role="bold">Extra information</emphasis>. </para>
+ <para>forceParcer parameters setting for <property>filters</property>:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<filter>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<filter>
...
<init-param>
<param-name>forceparser</param-name>
@@ -681,186 +699,191 @@
</init-param>
...
</filter>]]></programlisting>
- <para>The "false" setting for initialization parameter switches off
- application of filters for non-AJAX requests, if "true" is chosen, the
- filter checks all requests. <important>
- <title>Changes for Ajax4jsf 1.1.0</title>
- <property>forceparser parameter</property> default value is false from this version.
- </important>
- </para>
- </section>
- <section id="AFormIsNotSubmittedOrASetterIsNotCalledAfterAJAXrequest">
- <?dbhtml filename="AFormIsNotSubmittedOrASetterIsNotCalledAfterAJAXrequest.html"?>
- <title>Why form isn't submitted or setter isn't called after AJAX request?</title>
- <para>This situation could happen because of conversion/validation errors on form
- submission. In order to verify this, it's necessary to place this updating via
- an AJAX error message inside a form:</para>
+ <para>The "false" setting for initialization parameter switches
+ off application of filters for non-AJAX requests, if
+ "true" is chosen, the filter checks all requests. <important>
+ <title>Changes for Ajax4jsf 1.1.0</title>
+ <property>forceparser parameter</property> default value is false
+ from this version. </important>
+ </para>
+ </section>
+ <section id="AFormIsNotSubmittedOrASetterIsNotCalledAfterAJAXrequest">
+ <?dbhtml filename="AFormIsNotSubmittedOrASetterIsNotCalledAfterAJAXrequest.html"?>
+ <title>Why form isn't submitted or setter isn't called after AJAX
+ request?</title>
+ <para>This situation could happen because of conversion/validation errors on form
+ submission. In order to verify this, it's necessary to place this
+ updating via an AJAX error message inside a form:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<a4j:outputPanel ajaxRendered="true">
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:outputPanel ajaxRendered="true">
<h:messages/>
</a4j:outpurPanel>]]></programlisting>
- </section>
+ </section>
- <section id="DelayedRenderZone">
- <?dbhtml filename="DelayedRenderZone.html"?>
- <title>How to create "a4j delayed render zone"?</title>
- <para>The <emphasis role="bold"><a4j:support></emphasis> component has a
- "requestDelay" attribute where you can define the delay.</para>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104969"
- >Ajax4Jsf Users Forum.</ulink>
- </para>
- </section>
+ <section id="DelayedRenderZone">
+ <?dbhtml filename="DelayedRenderZone.html"?>
+ <title>How to create "a4j delayed render zone"?</title>
+ <para>The <emphasis role="bold"><a4j:support></emphasis> component has
+ a "requestDelay" attribute where you can define the delay.</para>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104969"
+ >Ajax4Jsf Users Forum.</ulink>
+ </para>
+ </section>
- <section id="HowToStopPoll">
- <?dbhtml filename="HowToStopPoll.html"?>
- <title>How to stop "a4j:poll"?</title>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104951"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
+ <section id="HowToStopPoll">
+ <?dbhtml filename="HowToStopPoll.html"?>
+ <title>How to stop "a4j:poll"?</title>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104951"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <section id="IgnoreDupResponsesAndRequestDelay">
- <?dbhtml filename="IgnoreDupResponsesAndRequestDelay.html"?>
+ <section id="IgnoreDupResponsesAndRequestDelay">
+ <?dbhtml filename="IgnoreDupResponsesAndRequestDelay.html"?>
- <title>How to use IgnoreDupResponses and requestDelay?</title>
- <para>The <emphasis >
- <property>"IgnoreDupResponses"</property>
- </emphasis> attribute appeared from 1.0.4 RC1 version and is used on the client for
- response ignoring after an AJAX request if a newer request has been already sent. <para>
- The additional information could be found <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105766"
- >here</ulink>. </para>
- <emphasis >
- <property>"RequestDelay"</property>
- </emphasis> attribute also defines the client behavior. It sets the time delay, after
- which another request could be sent, all other requests are taken away from a queue
- except the last one. </para>
- </section>
+ <title>How to use IgnoreDupResponses and requestDelay?</title>
+ <para>The <emphasis>
+ <property>"IgnoreDupResponses"</property>
+ </emphasis> attribute appeared from 1.0.4 RC1 version and is used on the
+ client for response ignoring after an AJAX request if a newer request has
+ been already sent. <para> The additional information could be found <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105766"
+ >here</ulink>. </para>
+ <emphasis>
+ <property>"RequestDelay"</property>
+ </emphasis> attribute also defines the client behavior. It sets the time
+ delay, after which another request could be sent, all other requests are
+ taken away from a queue except the last one. </para>
+ </section>
- <section id="RefreshImage">
- <?dbhtml filename="RefreshImage.html"?>
- <title>How to refresh an image using <a4j:support> component?</title>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105995"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
+ <section id="RefreshImage">
+ <?dbhtml filename="RefreshImage.html"?>
+ <title>How to refresh an image using <a4j:support> component?</title>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105995"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <section id="EventQueueUsage">
- <?dbhtml filename="EventQueueUsage.html"?>
- <title>How to use "EventQueue" attribute?</title>
- <para>The <emphasis >
- <property>"EventQueue"</property>
- </emphasis> attribute defines the query name where the requests are saved before their
- sending to the server. The queue is created for redundant requests deleting during
- frequent events, which call several requests forming one after another. The queue cuts
- redundant requests and send only the last one. The queue is created in any case and
- named on default, the attribute usage only re-defines this name. </para>
- </section>
+ <section id="EventQueueUsage">
+ <?dbhtml filename="EventQueueUsage.html"?>
+ <title>How to use "EventQueue" attribute?</title>
+ <para>The <emphasis>
+ <property>"EventQueue"</property>
+ </emphasis> attribute defines the query name where the requests are saved
+ before their sending to the server. The queue is created for redundant
+ requests deleting during frequent events, which call several requests
+ forming one after another. The queue cuts redundant requests and send only
+ the last one. The queue is created in any case and named on default, the
+ attribute usage only re-defines this name. </para>
+ </section>
- <section id="PageRequiredOrNot">
- <?dbhtml filename="PageRequiredOrNot.html"?>
- <title>Is <a4j:page> component required or not?</title>
- <para>
- <emphasis role="bold"><4j:page></emphasis> is a component used for solving
- of incompatibility problems in early Ajax4jsf and MyFaces versions. The component
- encodes the full html page structure. </para>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=106849&postdays=0&postorder=asc&start=0"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
+ <section id="PageRequiredOrNot">
+ <?dbhtml filename="PageRequiredOrNot.html"?>
+ <title>Is <a4j:page> component required or not?</title>
+ <para>
+ <emphasis role="bold"><4j:page></emphasis> is a component used
+ for solving of incompatibility problems in early Ajax4jsf and MyFaces
+ versions. The component encodes the full html page structure. </para>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=106849&postdays=0&postorder=asc&start=0"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <section id="SeveralStatusOnPage">
- <?dbhtml filename="SeveralStatusOnPage.html"?>
- <title>Can I have several <a4j:status> components on one page?</title>
- <para>Yes, you can. More information about this problem could be found on the <ulink
- url="http://livedemo.exadel.com/a4j-status/">JBoss Ajax4jsf Online Demos</ulink>.
- </para>
- </section>
+ <section id="SeveralStatusOnPage">
+ <?dbhtml filename="SeveralStatusOnPage.html"?>
+ <title>Can I have several <a4j:status> components on one page?</title>
+ <para>Yes, you can. More information about this problem could be found on the <ulink
+ url="http://livedemo.exadel.com/a4j-status/">JBoss Ajax4jsf Online
+ Demos</ulink>. </para>
+ </section>
- <section id="SomeProblemsWithRendering">
- <?dbhtml filename="SomeProblemsWithRendering.html"?>
- <title>Can I use <a4j:region> within <a4j:repeat>?</title>
- <para>
- <emphasis role="bold"><a4j:region></emphasis> can't work inside
- iteration components like <emphasis role="bold"><h:dataTable></emphasis>
- and <emphasis role="bold"><a4j:repeat></emphasis>. </para>
- <para>The details could be found <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=109080"
- >here. </ulink>
- </para>
- </section>
+ <section id="SomeProblemsWithRendering">
+ <?dbhtml filename="SomeProblemsWithRendering.html"?>
+ <title>Can I use <a4j:region> within <a4j:repeat>?</title>
+ <para>
+ <emphasis role="bold"><a4j:region></emphasis> can't
+ work inside iteration components like <emphasis role="bold"
+ ><h:dataTable></emphasis> and <emphasis role="bold"
+ ><a4j:repeat></emphasis>. </para>
+ <para>The details could be found <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=109080"
+ >here. </ulink>
+ </para>
+ </section>
- <section id="CustomAjaxRequest">
- <?dbhtml filename="CustomAjaxRequest.html"?>
- <title>Why custom AJAX request does not work?</title>
- <para>More information about this problem could be found on the <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&t=114025"
- >Ajax4Jsf Users Forum.</ulink>
- </para>
- </section>
-
-
- <section id="RerederingSingleDataTableColumn">
- <?dbhtml filename="RerederingSingleDataTableColumn.html"?>
- <title>How to reRender single dataTable column?</title>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105725"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
+ <section id="CustomAjaxRequest">
+ <?dbhtml filename="CustomAjaxRequest.html"?>
+ <title>Why custom AJAX request does not work?</title>
+ <para>More information about this problem could be found on the <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewtopic&t=114025"
+ >Ajax4Jsf Users Forum.</ulink>
+ </para>
+ </section>
- <section id="DisableSkins">
- <?dbhtml filename="DisableSkins.html"?>
- <title>How to disable skinability?</title>
- There is possibility to use special skin with name "plain". It doesn't have any parameters.
- It's necessary for embedding RichFaces components into existing projecst which have its own styles.
- <para>For information you can see discussion about this problem on the <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066340#4066340"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
-
- <section id="reRenderingfailed">
- <?dbhtml filename="reRenderingfailed.html"?>
- <title>Why does reRendering fail? Hide/Show components using rendered.</title>
- <para> During "show/hide" functionality implementation the main error
- happens because of the "reRender" attribute of some AJAX Action
- Component is set on a component that depends on rendered properties, i.e. a component
- that is to be hidden/rendered is tried to be updated. The problem is that if
- rendered="false" in this moment, the component isn't in the
- DOM tree and can't be updated because of the general limitations described in
- the Ajax Processing chapter. </para>
- <para>The correct variant of functionality implantation:</para>
- <orderedlist>
- <listitem>
- <para>With the rendered attribute wrap the component that is to be hidden or
- rendered on AJAX in a wrapper component (e.g. a4j:outputPanel)</para>
- </listitem>
+ <section id="RerederingSingleDataTableColumn">
+ <?dbhtml filename="RerederingSingleDataTableColumn.html"?>
+ <title>How to reRender single dataTable column?</title>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=105725"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <listitem>
- <para>Set reRender of an AJAX Action component on this wrapper component instead of
- the component itself.</para>
- </listitem>
- </orderedlist>
+ <section id="DisableSkins">
+ <?dbhtml filename="DisableSkins.html"?>
+ <title>How to disable skinability?</title> There is possibility to use special skin
+ with name "plain". It doesn't have any parameters. It's necessary for embedding
+ RichFaces components into existing projecst which have its own styles. <para>For
+ information you can see discussion about this problem on the <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066340#4066340"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <section id="reRenderingfailed">
+ <?dbhtml filename="reRenderingfailed.html"?>
+ <title>Why does reRendering fail? Hide/Show components using rendered.</title>
+ <para> During "show/hide" functionality implementation the main
+ error happens because of the "reRender" attribute of some
+ AJAX Action Component is set on a component that depends on rendered
+ properties, i.e. a component that is to be hidden/rendered is tried to be
+ updated. The problem is that if rendered="false" in this
+ moment, the component isn't in the DOM tree and can't be
+ updated because of the general limitations described in the Ajax Processing
+ chapter. </para>
+ <para>The correct variant of functionality implantation:</para>
- <programlisting role="XML"><![CDATA[...
+ <orderedlist>
+ <listitem>
+ <para>With the rendered attribute wrap the component that is to be
+ hidden or rendered on AJAX in a wrapper component (e.g.
+ a4j:outputPanel)</para>
+ </listitem>
+
+ <listitem>
+ <para>Set reRender of an AJAX Action component on this wrapper
+ component instead of the component itself.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<a4j:outputPanel id="panel">
<h:panelGroup rendered="#{bean.rendered}">
<!--Some nested content to be hidden/shown depending on bean.rendered -->
@@ -871,47 +894,47 @@
...
]]></programlisting>
- <para>In this case the wrapper component always presents in the DOM tree and its inner
- content could be updated dynamically on AJAX.</para>
- </section>
+ <para>In this case the wrapper component always presents in the DOM tree and its
+ inner content could be updated dynamically on AJAX.</para>
+ </section>
- <section id="PreventDupRerenderingPoll">
- <?dbhtml filename="PreventDupRerenderingPoll.html"?>
- <title>How to prevent duplicate reRendering when using <a4j:poll>?</title>
- <para>For information you can see discussion about this problem on the <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059731#4059731"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
-
- <section id="JSCallPropblemsInInclude">
- <?dbhtml filename="JSCallPropblemsInInclude.html"?>
- <title>Why does JavaScript call don't work in <a4j:include>?</title>
- <para>More information about this problem could be found on the <ulink
- url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104317"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
+ <section id="PreventDupRerenderingPoll">
+ <?dbhtml filename="PreventDupRerenderingPoll.html"?>
+ <title>How to prevent duplicate reRendering when using <a4j:poll>?</title>
+ <para>For information you can see discussion about this problem on the <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059731#4059731"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <section id="IncludeAndNavRules">
- <?dbhtml filename="IncludeAndNavRules.html"?>
- <title>How to use <a4j:include> and navigation rules?</title>
- <para>For information you can see discussion about this problem on the <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4062036#4062036"
- >Ajax4Jsf Users Forum. </ulink>
- </para>
- </section>
-
- <section id="ResourceNotRegisteredException">
- <?dbhtml filename="ResourceNotRegisteredException.html"?>
- <title>What does ResourceNotRegistered Exception mean?</title>
+ <section id="JSCallPropblemsInInclude">
+ <?dbhtml filename="JSCallPropblemsInInclude.html"?>
+ <title>Why does JavaScript call don't work in <a4j:include>?</title>
+ <para>More information about this problem could be found on the <ulink
+ url="http://jboss.com/index.html?module=bb&op=viewtopic&t=104317"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <para>Ajax4jsf registers its resources (scripts, images) after an application is accessed
- and then accesses it via a generated URL. During an application development when a
- developer constantly updates it on the server, it could happen that Ajax4jsf
- re-registers its resources after every server restart and a browser tries to access them
- via cashed URL.</para>
+ <section id="IncludeAndNavRules">
+ <?dbhtml filename="IncludeAndNavRules.html"?>
+ <title>How to use <a4j:include> and navigation rules?</title>
+ <para>For information you can see discussion about this problem on the <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4062036#4062036"
+ >Ajax4Jsf Users Forum. </ulink>
+ </para>
+ </section>
- <para>The problem is solved with browser cash update (e.g. CTRL+F5).</para>
- </section>
+ <section id="ResourceNotRegisteredException">
+ <?dbhtml filename="ResourceNotRegisteredException.html"?>
+ <title>What does ResourceNotRegistered Exception mean?</title>
+
+ <para>Ajax4jsf registers its resources (scripts, images) after an application is
+ accessed and then accesses it via a generated URL. During an application
+ development when a developer constantly updates it on the server, it could
+ happen that Ajax4jsf re-registers its resources after every server restart
+ and a browser tries to access them via cashed URL.</para>
+
+ <para>The problem is solved with browser cash update (e.g. CTRL+F5).</para>
+ </section>
</chapter>
More information about the richfaces-svn-commits
mailing list