﻿<?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-pengpenglin-随笔分类-J2EE 框架</title><link>http://www.blogjava.net/pengpenglin/category/28489.html</link><description>因为热爱，所以坚持；因为坚持，所以快乐！</description><language>zh-cn</language><lastBuildDate>Wed, 05 Mar 2008 00:37:41 GMT</lastBuildDate><pubDate>Wed, 05 Mar 2008 00:37:41 GMT</pubDate><ttl>60</ttl><item><title>JSF国际化总结二例</title><link>http://www.blogjava.net/pengpenglin/archive/2008/03/04/183806.html</link><dc:creator>Paul Lin</dc:creator><author>Paul Lin</author><pubDate>Tue, 04 Mar 2008 14:32:00 GMT</pubDate><guid>http://www.blogjava.net/pengpenglin/archive/2008/03/04/183806.html</guid><wfw:comment>http://www.blogjava.net/pengpenglin/comments/183806.html</wfw:comment><comments>http://www.blogjava.net/pengpenglin/archive/2008/03/04/183806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pengpenglin/comments/commentRss/183806.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pengpenglin/services/trackbacks/183806.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt; font-family: Verdana"><strong>一、&lt;f:view&gt;、&lt;f:loadbundle&gt;和&lt;html&gt;标记的位置<br />
</strong><br />
使用JSF国际化时，如果HTML页面的&lt;title&gt;&lt;/title&gt;部分需要用到绑定资源文件的信息，则&lt;f:view&gt;和&lt;f:loadbundule&gt;标签必须放在&lt;html&gt;标签之外，诸如以下所示：<br style="font-family: " />
<br style="font-family: " />
没有使用资源绑定之前，页面代码如下：<br style="font-family: " />
</span>
<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: #0000ff">&lt;</span><span style="color: #800000">html</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">meta&nbsp;</span><span style="color: #ff0000">http-equiv</span><span style="color: #0000ff">="Content-Type"</span><span style="color: #ff0000">&nbsp;content</span><span style="color: #0000ff">="text/html;&nbsp;charset=UTF-8"</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">第一个JSF程序</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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 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">f:view</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;</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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h3</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">请输入你的名称</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h3</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;</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">="#{user.errMessage}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</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;名称：</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:inputText&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{user.name}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</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;密码：</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:inputSecret&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{user.password}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</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;</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">="送出"</span><span style="color: #ff0000">&nbsp;action</span><span style="color: #0000ff">="#{user.verify}"</span><span style="color: #ff0000">&nbsp;</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;</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 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">f:view</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<br />
<span style="font-size: 10pt; font-family: Verdana">使用了资源文件之后，代码的&lt;f:view&gt;,&lt;f:loadbundle&gt;标签提前到&lt;html&gt;标签前面：</span><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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">f:view&nbsp;</span><span style="color: #ff0000">locale</span><span style="color: #0000ff">="zh_CN"</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">f:loadBundle&nbsp;</span><span style="color: #ff0000">basename</span><span style="color: #0000ff">="messages"</span><span style="color: #ff0000">&nbsp;var</span><span style="color: #0000ff">="msgs"</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" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">meta&nbsp;</span><span style="color: #ff0000">http-equiv</span><span style="color: #0000ff">="Content-Type"</span><span style="color: #ff0000">&nbsp;content</span><span style="color: #0000ff">="text/html;&nbsp;charset=UTF-8"</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">h:outputText&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{msgs.titleText}"</span><span style="color: #0000ff">/&gt;&lt;/</span><span style="color: #800000">title</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><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</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><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h3</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">h:outputText&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{msgs.hintText}"</span><span style="color: #0000ff">/&gt;&lt;/</span><span style="color: #800000">h3</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;</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">="#{user.errMessage}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&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">="#{msgs.nameText}"</span><span style="color: #ff0000">&nbsp;</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;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:inputText&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{user.name}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&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">="#{msgs.passText}"</span><span style="color: #ff0000">&nbsp;</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;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">h:inputSecret&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="#{user.password}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&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">="#{msgs.commandText}"</span><span style="color: #ff0000">&nbsp;action</span><span style="color: #0000ff">="#{user.verify}"</span><span style="color: #ff0000">&nbsp;</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;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">h:form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">f:view</span><span style="color: #0000ff">&gt;</span></div>
<span style="font-size: 10pt; font-family: Verdana"><br style="font-family: " />
否则页面在运行时会提示找不到标签，原因就是因为在加载资源文件之前&lt;title&gt;&lt;/title&gt;就已经使用了绑定，自然无法找到绑定的内容。<br style="font-family: " />
<br style="font-family: " />
</span><span style="font-family: Verdana"><span style="font-family: Verdana"><span style="font-size: 10pt; font-family: "><strong>二、&lt;f:view&gt;的locale属性和faces-config.xml中&lt;locale-config&gt;配置的优先级别：</strong></span></span><br />
<br />
</span>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">1.&lt;f:view&gt;没有设置locale，faces-config.xml没有设置&lt;local-config&gt;时采用浏览器的默认配置</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">2.&lt;f:view&gt;没有设置locale，但faces-config.xml中设置了&lt;local-config&gt;时，如果支持本地语言则采用&lt;local-config&gt;的&lt;supported-locale&gt;配置，否则采用&lt;default-locale&gt;</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">3.&lt;f:view&gt;设置了locale时，faces-config.xml没有设置&lt;local-config&gt;时采用&lt;f:view&gt;的配置</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">4.&lt;f:view&gt;设置了locale时，且faces-config.xml中设置了&lt;local-config&gt;时，采用&lt;f:view&gt;</span></span></p>
<img src ="http://www.blogjava.net/pengpenglin/aggbug/183806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengpenglin/" target="_blank">Paul Lin</a> 2008-03-04 22:32 <a href="http://www.blogjava.net/pengpenglin/archive/2008/03/04/183806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于Service和Command模式的简单MVC实现</title><link>http://www.blogjava.net/pengpenglin/archive/2008/01/09/174072.html</link><dc:creator>Paul Lin</dc:creator><author>Paul Lin</author><pubDate>Wed, 09 Jan 2008 09:30:00 GMT</pubDate><guid>http://www.blogjava.net/pengpenglin/archive/2008/01/09/174072.html</guid><wfw:comment>http://www.blogjava.net/pengpenglin/comments/174072.html</wfw:comment><comments>http://www.blogjava.net/pengpenglin/archive/2008/01/09/174072.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/pengpenglin/comments/commentRss/174072.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pengpenglin/services/trackbacks/174072.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: MVC和Command模式的一个结合，用于完成小型的Web控制&nbsp;&nbsp;<a href='http://www.blogjava.net/pengpenglin/archive/2008/01/09/174072.html'>阅读全文</a><img src ="http://www.blogjava.net/pengpenglin/aggbug/174072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pengpenglin/" target="_blank">Paul Lin</a> 2008-01-09 17:30 <a href="http://www.blogjava.net/pengpenglin/archive/2008/01/09/174072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>