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"><?</span> <span class="kd">extends</span> <span class="n">ViewConfig</span><span class="o">></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"><?</span> <span class="kd">extends</span> <span class="n">ViewConfig</span><span class="o">></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>