<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marcos Sousa's Blog &#187; Navigation Cases</title>
	<atom:link href="http://www.marcossousa.com/tag/navigation-cases/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcossousa.com</link>
	<description>Blog sobre desenvolvimento de software</description>
	<lastBuildDate>Fri, 06 Jan 2012 15:31:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Jboss Seam &#8211; Getting started: Navigation Cases!</title>
		<link>http://www.marcossousa.com/2008/04/14/jboss-seam-getting-started-navigation-cases/</link>
		<comments>http://www.marcossousa.com/2008/04/14/jboss-seam-getting-started-navigation-cases/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 02:54:24 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[Java Server Faces]]></category>
		<category><![CDATA[Jboss Seam]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Navigation Cases]]></category>
		<category><![CDATA[Page Actions]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/2008/04/14/jboss-seam-getting-started-navigation-cases/</guid>
		<description><![CDATA[No post Jboss Seam &#8211; Getting started: Page Actions, eu havia mostrado um caso simples de listagem e edição de notícias. Mas há casos exigem a criação casos de navegação para que não haja erros na execução. Voltando ao exemplo de cadastro de notícias, o que aconteceria se o usuário por engano digitar um código [...]]]></description>
			<content:encoded><![CDATA[<p>No post <a href="http://www.marcossousa.com/2008/03/01/jboss-seam-getting-started-page-actions/">Jboss Seam &#8211; Getting started: Page Actions</a>, eu havia mostrado um caso simples de listagem e edição de notícias. Mas há casos exigem a criação casos de navegação para que não haja erros na execução.</p>
<p>Voltando ao exemplo de cadastro de notícias, o que aconteceria se o usuário por engano digitar um código que não existe na URL: /news/EditNews.jsf?newsId=9? Bom a página de edição apareceria com o formulário em branco ou geraria uma exceção.</p>
<p>A solução para este caso seria, caso o método gere um OUTCOME de erro, redireciona para a página de edição. Veja o exemplo:</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;pages xmlns=&quot;http://jboss.com/products/seam/pages&quot;
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation=&quot;http://jboss.com/products/seam/pages

http://jboss.com/products/seam/pages-2.0.xsd&quot;&gt;

&lt;page view-id=&quot;/news/EditNews.xhtml&quot;&gt;
&lt;param name=&quot;newsId&quot; value=&quot;#{newsBean.news.newsId}&quot;/&gt;
&lt;action execute=&quot;#{newsBean.loadNewsById(newsBean.news.newsId)}&quot;/&gt;

&lt;rule if-outcome=&quot;error&quot;&gt;
&lt;redirect view-id=&quot;/news/list.xhtml&quot;/&gt;
&lt;/rule&gt;
&lt;/page&gt;
&lt;/pages&gt;
</pre>
<p>Assim, caso o identificador for nulo ou inválido a action  loadNewsById retornará o outcome <strong>error</strong>. Assim, a execução será redirecionada a página lista.xhtml evitando que erros sejam gerados e evitando quebra de dados no formulário. Simples não?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/04/14/jboss-seam-getting-started-navigation-cases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

