﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-juanshuchun-文章分类-JSF</title><link>http://www.blogjava.net/juanshuchun/category/27964.html</link><description>Never accpet failure no matter how oftern it visits you keep on going , never give up. never~~~
</description><language>zh-cn</language><lastBuildDate>Wed, 12 Dec 2007 05:28:25 GMT</lastBuildDate><pubDate>Wed, 12 Dec 2007 05:28:25 GMT</pubDate><ttl>60</ttl><item><title>session map</title><link>http://www.blogjava.net/juanshuchun/articles/167041.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167041.html</guid><description><![CDATA[<p>session map code1:<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_35_246_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_246_Open_Text.style.display='none'; Codehighlighter1_35_246_Closed_Image.style.display='inline'; Codehighlighter1_35_246_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_35_246_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_35_246_Closed_Text.style.display='none'; Codehighlighter1_35_246_Open_Image.style.display='inline'; Codehighlighter1_35_246_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;Status&nbsp;getDialogStatus()&nbsp;</span><span id="Codehighlighter1_35_246_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_35_246_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map&nbsp;sessionMap&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;FacesContext.getCurrentInstance()<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getExternalContext()<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getSessionMap();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">(Status)sessionMap.get(org.apache.shale.dialog.Globals.STATUS);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
session map code2:<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;ChartData&nbsp;data&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ChartData();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;data.setWidth(width);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;data.setHeight(height);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;data.setTitle(title);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;data.setNames(names);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;data.setValues(values);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;String&nbsp;id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;component.getClientId(context);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;ExternalContext&nbsp;external&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;FacesContext.getCurrentInstance().getExternalContext();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;session&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;external.getSessionMap();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;session.put(id,&nbsp;data);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
将Object 保存在sessionscope map 里，可以在页面导航到其他页面时，还能继续访问Object。<br />
requestMap或sessionMap 临时保存对象。
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167041.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 20:25 <a href="http://www.blogjava.net/juanshuchun/articles/167041.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>onchange</title><link>http://www.blogjava.net/juanshuchun/articles/167037.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 12:09:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167037.html</guid><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_17_71_Open_Image" onclick="this.style.display='none'; Codehighlighter1_17_71_Open_Text.style.display='none'; Codehighlighter1_17_71_Closed_Image.style.display='inline'; Codehighlighter1_17_71_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_17_71_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_17_71_Closed_Text.style.display='none'; Codehighlighter1_17_71_Open_Image.style.display='inline'; Codehighlighter1_17_71_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_17_71_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_17_71_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@&nbsp;taglib&nbsp;uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">http://java.sun.com/jsf/core</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">f</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span></span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_84_138_Open_Image" onclick="this.style.display='none'; Codehighlighter1_84_138_Open_Text.style.display='none'; Codehighlighter1_84_138_Closed_Image.style.display='inline'; Codehighlighter1_84_138_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_84_138_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_84_138_Closed_Text.style.display='none'; Codehighlighter1_84_138_Open_Image.style.display='inline'; Codehighlighter1_84_138_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_84_138_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_84_138_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@&nbsp;taglib&nbsp;uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">http://java.sun.com/jsf/html</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">h</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span></span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_150_206_Open_Image" onclick="this.style.display='none'; Codehighlighter1_150_206_Open_Text.style.display='none'; Codehighlighter1_150_206_Closed_Image.style.display='inline'; Codehighlighter1_150_206_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_150_206_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_150_206_Closed_Text.style.display='none'; Codehighlighter1_150_206_Open_Image.style.display='inline'; Codehighlighter1_150_206_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_150_206_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_150_206_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@&nbsp;taglib&nbsp;uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">http://corejsf.com/pager</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">corejsf</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span></span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">f:view</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">link&nbsp;</span><span style="color: #ff0000">href</span><span style="color: #0000ff">="styles.css"</span><span style="color: #ff0000">&nbsp;rel</span><span style="color: #0000ff">="stylesheet"</span><span style="color: #ff0000">&nbsp;type</span><span style="color: #0000ff">="text/css"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Pager&nbsp;Test</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:dataTable&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="timezones"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="#{bb.data}"</span><span style="color: #ff0000">&nbsp;var</span><span style="color: #0000ff">="row"</span><span style="color: #ff0000">&nbsp;rows</span><span style="color: #0000ff">="10"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:column</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:selectBooleanCheckbox&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="{bb.dummy}"</span><span style="color: #ff0000">&nbsp;onchange</span><span style="color: #0000ff">="submit()"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h:column</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:column</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:outputText&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{row}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h:column</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h:dataTable</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">corejsf:pager&nbsp;</span><span style="color: #ff0000">dataTableId</span><span style="color: #0000ff">="timezones"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showpages</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;selectedStyleClass</span><span style="color: #0000ff">="currentPage"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:commandButton&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="foo"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h:form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">f:view</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<strong>onchange="submit()"</strong>
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167037.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 20:09 <a href="http://www.blogjava.net/juanshuchun/articles/167037.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Event listeners can affect the JSF life cycle in one of three ways</title><link>http://www.blogjava.net/juanshuchun/articles/167034.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 11:57:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167034.html</guid><description><![CDATA[<p>1.Let the life cycle proceed normally.</p>
<p>2.Call <strong>FacesContext.renderResponse()</strong> to skip the rest of the life cycle up to Render Response.</p>
<p>3.Call <strong>FacesContext.responseComplete()</strong> to skip the rest of the life cycle entirely.</p>
<p>See "Immediate Components" on page 287 for an example of using FacesContext.renderResponse().<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;String&nbsp;US&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">United&nbsp;States</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
<img id="Codehighlighter1_111_379_Open_Image" style="display: inline" onclick="this.style.display='none'; Codehighlighter1_111_379_Open_Text.style.display='none'; Codehighlighter1_111_379_Closed_Image.style.display='inline'; Codehighlighter1_111_379_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_111_379_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_111_379_Closed_Text.style.display='none'; Codehighlighter1_111_379_Open_Image.style.display='inline'; Codehighlighter1_111_379_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;countryChanged(ValueChangeEvent&nbsp;event)&nbsp;</span><span id="Codehighlighter1_111_379_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_111_379_Open_Text" style="display: inline"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FacesContext&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;FacesContext.getCurrentInstance();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(US.equals((String)&nbsp;event.getNewValue()))<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.getViewRoot().setLocale(Locale.US);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.getViewRoot().setLocale(Locale.CANADA);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.renderResponse();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;}</span></span></div>
<p class="docText">The call to <tt>renderResponse()</tt> skips the rest of the life cycle—including validation of the rest of the input components in the form—up to Render Response. Thus, the other validations are skipped and the response is rendered normally (in this case, the current page is <span style="color: red">redisplayed</span>).</p>
<p class="docText">To summarize, you can skip validation when a value change event fires by doing the <strong>following</strong>:</p>
<div style="font-weight: bold">
<ol class="docList" type="1">
    <li>
    <div style="font-weight: normal">
    <p class="docList">Adding an <tt>immediate</tt> attribute to your input tag</p>
    </div>
    <li>
    <div style="font-weight: normal">
    <p class="docList">Calling <tt>FacesContext.renderResponse()</tt> <strong>at the end of your listener</strong></p>
    </div>
    </li>
</ol>
</div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 8pt; color: red">&nbsp;<br />
<br />
&nbsp;上文引用：《core JavaServer&#8482; Faces, Second Edition》</span> 
 <img src ="http://www.blogjava.net/juanshuchun/aggbug/167034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 19:57 <a href="http://www.blogjava.net/juanshuchun/articles/167034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Syntax of Value Expressions</title><link>http://www.blogjava.net/juanshuchun/articles/167023.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 11:25:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167023.html</guid><description><![CDATA[<p>
<table cellspacing="0" cellpadding="4" rules="rows" frame="hsides">
    <caption>
    <h5 class="docTableTitle">Table 2-4. Predefined Objects in the Value Expression Language</h5>
    </caption>
    <colgroup span="2" align="left">
    <col width="100">
    <col width="400"></colgroup>
    <thead>
        <tr>
            <th class="docTableCell thead" style="background-color: #e6e6e6" valign="top" scope="col" align="left">Variable Name</th>
            <th class="docTableCell thead" style="background-color: #e6e6e6" valign="top" scope="col" align="left">Meaning</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>header</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of HTTP header parameters, containing only the first value for each name.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>headerValues</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of HTTP header parameters, yielding a <tt>String[]</tt>array of all values for a given name.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>param</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of HTTP request parameters, containing only the first value for each name.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>paramValues</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of HTTP request parameters, yielding a <tt>String[]</tt>array of all values for a given name.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>cookie</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of the cookie names and values of the current request.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>initParam</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of the initialization parameters of this web application. Initialization parameters are discussed in <a class="docLink" href="mk:@MSITStore:E:\CooYie\项目资料收集\JSF\Core.JavaServer.Faces.Second.Edition.May.2007.chm::/ch10.htm#ch10">Chapter 10</a>.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>requestScope</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of all request scope attributes.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt><font style="background-color: #0a246a" color="#ffffff">sessionScope</font></tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of all session scope attributes.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>applicationScope</tt></td>
            <td class="docTableCell" valign="top" align="left">A <tt>Map</tt> of all application scope attributes.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>facesContext</tt></td>
            <td class="docTableCell" valign="top" align="left">The <tt>FacesContext</tt> instance of this request. This class is discussed in <a class="docLink" href="mk:@MSITStore:E:\CooYie\项目资料收集\JSF\Core.JavaServer.Faces.Second.Edition.May.2007.chm::/ch6.htm#ch06">Chapter 6</a>.</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>view</tt></td>
            <td class="docTableCell" valign="top" align="left">The <tt>UIViewRoot</tt> instance of this request. This class is discussed in </td>
        </tr>
    </tbody>
</table>
</p>
<p class="docText">&nbsp;Finally, if the name is still not found, it is passed to the <tt><span style="color: red"><tt>VariableResolver</tt> </span></tt>of the JSF application. The default variable resolver looks up <tt>managed-bean</tt> elements in a configuration resource, typically the <tt>faces-config.xml</tt> file.<br />
<br />
Consider, for example, the expression</p>
<p>&nbsp; #{user.password}</p>
<p><br />
The term user is not one of the predefined(预定义) objects. When it is encountered（遇到） for the first time, it is not an attribute name in request, session, or application scope.</p>
<p>Therefore, the variable resolver processes the faces-config.xml entry:</p>
<p>&nbsp; &lt;managed-bean&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;managed-bean-name&gt;user&lt;/managed-bean-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;managed-bean-class&gt;com.corejsf.UserBean&lt;/managed-bean-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;managed-bean-scope&gt;session&lt;/managed-bean-scope&gt; <br />
&nbsp; &lt;/managed-bean&gt;</p>
<p><br />
The variable resolver calls the default constructor of the class com.corejsf.User-Bean. Next, <strong>it adds an association to the sessionScope map</strong>. Finally, it returns the object as the result of the lookup.<br />
</p>
<p>When the term <tt>user</tt> <strong>needs to be resolved again</strong> in the same session, it is located in the session scope<br />
<br />
<br />
Composite Expressions<br />
&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>You can use a limited set of operators inside value expressions:</p>
<p>Arithmetic operators + - * / %. The last two operators have alphabetic variants div and mod.</p>
<p>Relational operators &lt; &lt;= &gt; &gt;= == != and their alphabetic variants lt le gt ge eq ne. The first four variants are required for XML safety.</p>
<p>Logical operators &amp;&amp; || ! and their alphabetic variants and or not. The first variant is required for XML safety.</p>
<p>The empty operator. The expression empty a is true if a is null, an array or String of length 0, or a Collection or Map of size 0.</p>
<p>The ternary ?: selection operator.<br />
</p>
<p class="docText">&nbsp;Operator precedence follows the same rules as in Java. The <tt>empty</tt> operator has the same precedence as the unary <tt>-</tt> and <tt>!</tt> operators.</p>
<p class="docText">&nbsp;Generally, you do not want to do a lot of expression computation in web pages—that would violate the separation of presentation and business logic. However, occasionally, the presentation layer can benefit from operators. For example, suppose you want to hide a component when the <tt>hide</tt> property of a bean is true. To hide a component, you set its <tt>rendered</tt> attribute to <tt>false</tt>. Inverting the bean value requires the <tt>!</tt> (or <tt>not</tt>) operator:</p>
<div class="docText">
<pre>  &lt;h:inputText rendered="#{!bean.hide}" ... /&gt;</pre>
</div>
<p><br />
&nbsp;</p>
<p class="docText">Finally, you can concatenate plain strings and value expressions by placing them next to each other. Consider, for example,</p>
<div class="docText">
<pre>  &lt;h:outputText value="#{messages.greeting}, #{user.name}!"/&gt;</pre>
</div>
<p><br />
&nbsp;</p>
<p class="docText">The statement concatenates four strings: the string returned from <tt>#{messages. greeting}</tt>, the string consisting of a comma and a space, the string returned from <tt>#{user.name}</tt>, and the string consisting of an exclamation mark.</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<span style="font-size: 8pt; color: red">上文出自：《core JavaServer&#8482; Faces, Second Edition》</span></p>
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 19:25 <a href="http://www.blogjava.net/juanshuchun/articles/167023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用动态选择菜单</title><link>http://www.blogjava.net/juanshuchun/articles/167017.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 11:05:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167017.html</guid><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;</span><span style="color: #000000">h:selectOneMenu&nbsp;value</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#{form.country}</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onchange</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">submit()</span><span style="color: #000000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueChangeListener</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#{form.countryChanged}</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">f:selectItems&nbsp;value</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#{form.countryNames}</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">h:selectOneMenu</span><span style="color: #000000">&gt;</span></div>
<br />
<strong>onchange="submit()"</strong><br />
<br />
&lt;f:selectItems <strong style="color: red">value="#{form.countryNames}"/</strong>&gt;&nbsp;&nbsp;&nbsp;@ Specifies items for a select one or select many component 
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 19:05 <a href="http://www.blogjava.net/juanshuchun/articles/167017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using from-action</title><link>http://www.blogjava.net/juanshuchun/articles/167012.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 10:52:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167012.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In addition to the from-outcome element, there is also a from-action element. That flexibility can be useful if you have two separate actions with the same action string <strong style="color: red">or</strong> two action method expressions that return the same action string.<br />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For example, suppose that in our quiz application, the startOverAction returns the string "again" instead of "startOver". The same string can be returned by the answerAction. To differentiate between the two navigation cases, you can use a from-action element. The contents of the element must be identical to the method expression string of the action attribute:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-action</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">#{quiz.answerAction}</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-action</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">again</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/again.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-action</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">#{quiz.startOverAction}</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-action</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">again</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/index.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt; color: red">上文出自：《core JavaServer&#8482; Faces, Second Edition》</span> 
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 18:52 <a href="http://www.blogjava.net/juanshuchun/articles/167012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用通配符导航</title><link>http://www.blogjava.net/juanshuchun/articles/167010.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167010.html</guid><description><![CDATA[<p>You can use wildcards in the from-view-id element of a navigation rule, for example:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">navigation-rule</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/secure/*</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/Images/dot.gif" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">navigation-rule</span><span style="color: #0000ff">&gt;</span></div>
<p>This rule applies to all pages that start with the prefix /secure/. <strong>Only a single * is allowed, and it <span style="color: red">must</span> be at the end of the ID string.</strong></p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 10pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上文出自：《core JavaServer&#8482; Faces, Second&nbsp;Edition》</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   <img src ="http://www.blogjava.net/juanshuchun/aggbug/167010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 18:40 <a href="http://www.blogjava.net/juanshuchun/articles/167010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把导航规则放在faces-config.xml 之外</title><link>http://www.blogjava.net/juanshuchun/articles/167009.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 10:37:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167009.html</guid><description><![CDATA[<p>Files listed in the javax.faces.CONFIG_FILES initialization parameter inside WEB-INF/web.xml. For example,</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">web-app</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">context-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">javax.faces.CONFIG_FILES</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">WEB-INF/navigation.xml,WEB-INF/beans.xml</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">context-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">web-app</span><span style="color: #0000ff">&gt;</span></div>
<p>(This mechanism is <strong>attractive for builder tools</strong> because it separates navigation, beans, etc.)<br />
</p>
navigation.xml ：navigation-rule<br />
beans.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ：managed-bean
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 18:37 <a href="http://www.blogjava.net/juanshuchun/articles/167009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSF Advanced Navigation :: redirect </title><link>http://www.blogjava.net/juanshuchun/articles/167008.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167008.html</guid><description><![CDATA[<p class="docText">&nbsp;&nbsp;&nbsp; &nbsp;If you add a <tt><font style="background-color: #0a246a" color="#ffffff">redirect</font></tt> element after <tt>to-view-id</tt>, then the JSP container terminates the current request and sends an HTTP <font style="background-color: #0a246a" color="#ffffff">redirect</font> to the client. The <font style="background-color: #0a246a" color="#ffffff">redirect</font> response tells the client which URL to use for the next page.</p>
<p class="docText">&nbsp;&nbsp;&nbsp;&nbsp;<strong>Redirecting the page is slower than forwarding because another round trip to the browser is involved. However, the redirection gives the browser a chance to update its address field.</strong></p>
<p class="docText"><a class="docLink" href="mk:@MSITStore:E:\CooYie\项目资料收集\JSF\Core.JavaServer.Faces.Second.Edition.May.2007.chm::/ch03lev1sec3.htm#ch03fig08">Figure 3-8</a> shows how the address field changes when you add a redirection element, as follows:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">success</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">from-outcome</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/success.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">to-view-id</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">redirect</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">navigation-case</span><span style="color: #0000ff">&gt;</span></div>
<p><img id="" height="394" alt="" src="mk:@MSITStore:E:\CooYie\项目资料收集\JSF\Core.JavaServer.Faces.Second.Edition.May.2007.chm::/ch03lev1sec3_files/ile.jpg" width="610" border="0" /></p>
<p>Without redirection, the original URL (<tt>localhost:8080/javaquiz/index.faces</tt>) is <span style="color: red">unchanged</span> when the user moves from the <tt>/index.jsp </tt>&nbsp;page to the <tt>/success.jsp</tt> face. With redirection, the browser displays the new URL (<tt>localhost:8080/ javaquiz/success.faces</tt>).</p>
<p class="docNoteTitle"><span style="color: red">Tip</span></p>
<p>
<table cellspacing="0" cellpadding="1" width="90%" border="0">
    <tbody>
        <tr>
            <td valign="top" width="60"><img id="" height="24" alt="" src="mk:@MSITStore:E:\CooYie\项目资料收集\JSF\Core.JavaServer.Faces.Second.Edition.May.2007.chm::/ch03lev1sec3_files/getfile[3].jpg" width="25" align="left" border="0" /> </td>
            <td valign="top">
            <p class="docText">Use the <tt><font style="background-color: #0a246a" color="#ffffff">redirect</font></tt> element for pages that the user might want to bookmark.</p>
            </td>
        </tr>
    </tbody>
</table>
</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt; color: red">上文出自：《core JavaServer&#8482; Faces, Second Edition》</span>
<img src ="http://www.blogjava.net/juanshuchun/aggbug/167008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 18:09 <a href="http://www.blogjava.net/juanshuchun/articles/167008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaServer Faces: The Complete Reference </title><link>http://www.blogjava.net/juanshuchun/articles/167002.html</link><dc:creator>*一凡*</dc:creator><author>*一凡*</author><pubDate>Tue, 11 Dec 2007 09:51:00 GMT</pubDate><guid>http://www.blogjava.net/juanshuchun/articles/167002.html</guid><description><![CDATA[<span style="font-size: 10pt"><strong>JSF 实现必须的库<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;构建JSF应用程序时必须的关键jar文件是 <span style="color: red">jsf-api.jar </span>和 <span style="color: red">jsf-impl.jar </span>。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;除了核心JSF运行时jar文件，还需要一些关键的&#8220;公共&#8221;jar文件（commons-beanutils.jar&nbsp;&nbsp;&nbsp;&nbsp; commonscollections.jar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; commons-digester.jar&nbsp;&nbsp;&nbsp; commons-logging.jar&nbsp;）<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;Jars&nbsp;for&nbsp;implementations&nbsp;of&nbsp;JCP&nbsp;standards</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">standard.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;JSTL&nbsp;standard.jar<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">jsf</span><span style="color: #000000">-</span><span style="color: #000000">impl.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;jsf</span><span style="color: #000000">-</span><span style="color: #000000">impl.jar<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;Jars&nbsp;for&nbsp;miscellaneous&nbsp;dependencies&nbsp;required&nbsp;#by&nbsp;Sun's&nbsp;JSF&nbsp;1.1</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;implementation</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">commons</span><span style="color: #000000">-</span><span style="color: #000000">beanutils.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;commons</span><span style="color: #000000">-</span><span style="color: #000000">beanutils.jar<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">commons</span><span style="color: #000000">-</span><span style="color: #000000">collections.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;commons</span><span style="color: #000000">-</span><span style="color: #000000">collections.jar<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">commons</span><span style="color: #000000">-</span><span style="color: #000000">digester.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;commons</span><span style="color: #000000">-</span><span style="color: #000000">digester.jar<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">commons</span><span style="color: #000000">-</span><span style="color: #000000">logging.jar</span><span style="color: #000000">=</span><span style="color: #000000">local&nbsp;path&nbsp;to&nbsp;commons</span><span style="color: #000000">-</span><span style="color: #000000">logging.jar</span></div>
</span>
 <img src ="http://www.blogjava.net/juanshuchun/aggbug/167002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/juanshuchun/" target="_blank">*一凡*</a> 2007-12-11 17:51 <a href="http://www.blogjava.net/juanshuchun/articles/167002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>