Yes that&#39;s a good point, and you can still do a redirect after the POST if that&#39;s important in your design. From another perspective, also, posting back to the pretty URL allows you to remember the context for which your form is being posted. So instead of having to explicitly re-code the URL parameters into the form data, you can re-parse these values and provide a consistent context. This also prevents having to keep extra data stored in session, when request scope is actually desired. <br /><br />On Nov 22, 2008 10:48pm, Gavin King &lt;gavin@hibernate.org&gt; wrote:<br />&gt; Thanks for the note, Lincoln.<br />&gt; <br />&gt; <br />&gt; <br />&gt; But the purpose of the redirect is not just to have a pretty URL ...<br />&gt; <br />&gt; it&#39;s to make sure the browser refresh button performs a GET instead of<br />&gt; <br />&gt; rePOSTing the form. Right?<br />&gt; <br />&gt; <br />&gt; <br />&gt; On Sat, Nov 22, 2008 at 10:37 AM, Lincoln Baxter, III<br />&gt; <br />&gt;  wrote:<br />&gt; <br />&gt; &gt; Hi Guys,<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; I&#39;m the author of the PrettyFaces extension. I just thought I would provide<br />&gt; <br />&gt; &gt; some explanation.<br />&gt; <br />&gt; &gt; Currently, if you wish to create bookmarkable URLs in Seam, when you submit<br />&gt; <br />&gt; &gt; a form with validation that fails, the form URL will display the JSF view ID<br />&gt; <br />&gt; &gt; (eg. /faces/store/buy.jsf), at this point Seam will have to send a redirect<br />&gt; <br />&gt; &gt; to the browser to redirect them back to the proper URL (eg. /store/buy).<br />&gt; <br />&gt; &gt; This is alright, but it causes wasted bandwidth, increased client wait time,<br />&gt; <br />&gt; &gt; and extra CPU usage. On a high-load system, this can matter a lot.<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; My solution simply replaces the JSF view ID in the HTTP  tag with the<br />&gt; <br />&gt; &gt; mapped page URL. This saves a redirect on validation, and also when you wish<br />&gt; <br />&gt; &gt; to redisplay the same page. (it also provides some other nice features, but<br />&gt; <br />&gt; &gt; those aren&#39;t really important in what&#39;s different between it and Seam)<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; My source is available here and is licensed under the GPL3. Most of what I<br />&gt; <br />&gt; &gt; think you&#39;d be interested in will be in the PrettyViewHandler class, which<br />&gt; <br />&gt; &gt; is ... simple. Have at it.<br />&gt; <br />&gt; &gt; http://ocpsoft.com/prettyfaces<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; Let me know if you have any questions.<br />&gt; <br />&gt; &gt; Thanks,<br />&gt; <br />&gt; &gt; Lincoln<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; ---------------------------------------------------------------------------------------------------------------------<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; There is a URL rewrite filter that was introduced in Seam 2.1 to<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; accomplish roughly the same thing, which was implemented by Norman.<br />&gt; <br />&gt; &gt; Taking a hint from JAX-RS, it&#39;s possible to define a pretty URL for a<br />&gt; <br />&gt; &gt; view ID in the page descriptor that transposes path info into request<br />&gt; <br />&gt; &gt; parameters.<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; Example 1:<br />&gt; <br />&gt; &gt;    <br />&gt; <br />&gt; &gt;       <br />&gt; <br />&gt; &gt;       <br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;       <br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;    <br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; Example 2:<br />&gt; <br />&gt; &gt;     <br />&gt; <br />&gt; &gt;         <br />&gt; <br />&gt; &gt;         <br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;          <br />&gt; &gt;                value=&quot;#{blogEntry.id}&quot;/&gt;<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;         <br />&gt; <br />&gt; &gt;     <br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; So if anything, we likely want to look at what discrepancies remain<br />&gt; <br />&gt; &gt; between the rewrite filter can do and what this guy is proposing.<br />&gt; <br />&gt; &gt; Norman?<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; -Dan<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; On Thu, Nov 13, 2008 at 3:07 PM, Gavin King  wrote:<br />&gt; <br />&gt; &gt;&gt; http://ocpsoft.com/uncategorized/jsf-get-bookmarkable-and-pretty-urls/<br />&gt; <br />&gt; &gt;&gt;<br />&gt; <br />&gt; &gt;&gt; Not sure what exactly they are doing, but perhaps we should steal<br />&gt; <br />&gt; &gt;&gt; code? Not sure...<br />&gt; <br />&gt; &gt;&gt;<br />&gt; <br />&gt; &gt;&gt; --<br />&gt; <br />&gt; &gt;&gt; Gavin King<br />&gt; <br />&gt; &gt;&gt; gavin.king at gmail.com<br />&gt; <br />&gt; &gt;&gt; http://in.relation.to/Bloggers/Gavin<br />&gt; <br />&gt; &gt;&gt; http://hibernate.org<br />&gt; <br />&gt; &gt;&gt; http://seamframework.org<br />&gt; <br />&gt; &gt;&gt; _______________________________________________<br />&gt; <br />&gt; &gt;&gt; seam-dev mailing list<br />&gt; <br />&gt; &gt;&gt; seam-dev at lists.jboss.org<br />&gt; <br />&gt; &gt;&gt; https://lists.jboss.org/mailman/listinfo/seam-dev<br />&gt; <br />&gt; &gt;&gt;<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; --<br />&gt; <br />&gt; &gt; Dan Allen<br />&gt; <br />&gt; &gt; Software consultant | Author of Seam in Action<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; http://mojavelinux.com<br />&gt; <br />&gt; &gt; http://mojavelinux.com/seaminaction<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; NOTE: While I make a strong effort to keep up with my email on a daily<br />&gt; <br />&gt; &gt; basis, personal or other work matters can sometimes keep me away<br />&gt; <br />&gt; &gt; from my email. If you contact me, but don&#39;t hear back for more than a week,<br />&gt; <br />&gt; &gt; it is very likely that I am excessively backlogged or the message was<br />&gt; <br />&gt; &gt; caught in the spam filters.  Please don&#39;t hesitate to resend a message if<br />&gt; <br />&gt; &gt; you feel that it did not reach my attention.<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; --<br />&gt; <br />&gt; Gavin King<br />&gt; <br />&gt; gavin.king@gmail.com<br />&gt; <br />&gt; http://in.relation.to/Bloggers/Gavin<br />&gt; <br />&gt; http://hibernate.org<br />&gt; <br />&gt; http://seamframework.org<br />&gt;