You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by bu...@apache.org on 2013/03/31 16:08:16 UTC

svn commit: r856716 - in /websites/staging/deltaspike/trunk/content: ./ deltaspike/jsf.html

Author: buildbot
Date: Sun Mar 31 14:08:16 2013
New Revision: 856716

Log:
Staging update by buildbot for deltaspike

Modified:
    websites/staging/deltaspike/trunk/content/   (props changed)
    websites/staging/deltaspike/trunk/content/deltaspike/jsf.html

Propchange: websites/staging/deltaspike/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Mar 31 14:08:16 2013
@@ -1 +1 @@
-1462943
+1462963

Modified: websites/staging/deltaspike/trunk/content/deltaspike/jsf.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/deltaspike/jsf.html (original)
+++ websites/staging/deltaspike/trunk/content/deltaspike/jsf.html Sun Mar 31 14:08:16 2013
@@ -410,7 +410,52 @@ Use an existing view-config to reference
 <p>leads to the invocation of the pre-render-view logic before /pages/page1.xhtml gets rendered (and
 it won't be called for other pages).</p>
 <h3 id="configuring-a-default-error-view">Configuring a Default Error-View</h3>
-<p>[TODO]</p>
+<p>It's possible to mark one view-config class as default error-view. That means in case of errors it will be used as navigation target automatically.
+Furthermore, it's also possible to use it in your code instead of hardcoding the error-view across the whole application.</p>
+<p>In case of</p>
+<div class="codehilite"><pre><span class="kd">interface</span> <span class="nc">Pages</span> <span class="o">{</span>
+    <span class="kd">class</span> <span class="nc">Index</span> <span class="kd">implements</span> <span class="n">ViewConfig</span> <span class="o">{</span> <span class="o">}</span>
+
+    <span class="kd">class</span> <span class="nc">CustomErrorPage</span> <span class="kd">extends</span> <span class="n">DefaultErrorView</span> <span class="o">{</span> <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>it's possible to navigate with <code>DefaultErrorView.class</code> instead of hardcoding it to <code>Pages.CustomErrorPage.class</code>.</p>
+<div class="codehilite"><pre><span class="nd">@Model</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">PageController</span>
+<span class="o">{</span>
+    <span class="kd">public</span> <span class="n">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="n">ViewConfig</span><span class="o">&gt;</span> <span class="n">actionWithoutError</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">return</span> <span class="n">Pages</span><span class="o">.</span><span class="na">Overview</span><span class="o">.</span><span class="na">class</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="n">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="n">ViewConfig</span><span class="o">&gt;</span> <span class="n">actionWithError</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="c1">//navigates to the view which is configured as default error-view</span>
+        <span class="k">return</span> <span class="n">DefaultErrorView</span><span class="o">.</span><span class="na">class</span><span class="o">;</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>If you are outside of an action-method you can also use it in combination with <code>ViewNavigationHandler</code>.</p>
+<div class="codehilite"><pre><span class="nd">@Model</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AnyController</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">ViewNavigationHandler</span> <span class="n">viewNavigationHandler</span><span class="o">;</span>
+
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">anyMethod</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="c1">//navigates to the view which is configured as default error-view</span>
+        <span class="k">this</span><span class="o">.</span><span class="na">viewNavigationHandler</span><span class="o">.</span><span class="na">navigateTo</span><span class="o">(</span><span class="n">DefaultErrorView</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>However, in case of JSF you have to ensure that you are at a valid point in the JSF request-lifecycle for a navigation, because invocation gets transformed to a std. (implicit) JSF navigation.</p>
 <h3 id="using-matches">Using @Matches</h3>
 <p>[TODO]</p>
 <h3 id="using-viewconfigresolver">Using ViewConfigResolver</h3>