??xml version="1.0" encoding="utf-8" standalone="yes"?>国产福利一区二区三区视频,青青九九免费视频在线,欧洲伦理片一区 二区 三区http://www.aygfsteel.com/caizh2009/category/44198.html与大家共同成?/description>zh-cnThu, 05 Aug 2010 04:03:11 GMTThu, 05 Aug 2010 04:03:11 GMT60appfusehttp://www.aygfsteel.com/caizh2009/archive/2010/03/05/314609.html菜毛毛菜毛毛Fri, 05 Mar 2010 06:40:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2010/03/05/314609.htmlhttp://www.aygfsteel.com/caizh2009/comments/314609.htmlhttp://www.aygfsteel.com/caizh2009/archive/2010/03/05/314609.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/314609.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/314609.htmlAppFuse是一个集成了众多当前最行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL)于一w的Web开发框架。AppFuse提供了Webpȝ开发过E中都需要开发的一些功能,如登陆、用户密码加密,用户理、根据不同的用户可以展现不同的菜?J2EE开发者也可以在此基础上开发加入自q功能模块。利用这个框架可以大q度的提高开发速度?/span>

转自:http://blog.chinaunix.net/u/11409/showart_436247.html

http://blog.csdn.net/changzhang/category/369570.aspx可参考这个网址
AppFuse是一个集成了当前最行的Web应用框架的一个更高层ơ的Web开发框Ӟ也可以说是一个Web开发基q_Q它与它所集成的各U框架相比,它提供了一部分所有Webpȝ开发过E中都需要开发的一些功能,如登陆、用户密码加密,用户理、根据不同的用户可以展现不同的菜单,可以自动生成 40%-60%左右的代码,自带了默认的一些在CSS中设定的样式Q用这些样式能很快的改变整个系l的外观Q还有自动化试的功能?/p>

它最大的价值就是ؓ我们提供了一个Web开发的新的方式和思\Q尽这些技术在国外都已q很行了,但在国内能够Hibernate、Struts?Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、Velocity、JUnit、JSTL、WebWorkq些技术集成到一个框架中的还不多见,所以即使不使用它的全部功能Q它也给我们提供了一个很好的借鉴、学习的Z?/p>

通过xAppFuseQ我们可以看到目前国外的L开发都使用了哪些技术,开发方式是什么样的,可能辑ֈ什么样的结果,而在以前Q是很少能够看到q样完整的例子的?/p>

AppFuse的另一个启C是Q我们可以依靠开源Y件的功能降低开发成本,而且可以阅读开源Y件的代码提高所在团队的整体实力?/p>

AppFuse 的作?Matt Raible是当今开源世界一个比较活跃的开发者,它是AppFuse、Struts Menu的作者,也是XDoclet、DisplayTag{一些著名开源项目的U极参与者,《Hibernate In Action》的作者就在感谢的名单里面提到他,XDoclet的下载版本中所带的Hibernate标签部分的例子就是他写的Q他q是2004q?Apache技术年会的主讲Z一?/p>

但是通过2个月的实际学习和使用Q我也遇Cpd的问题,因ؓAppFuse是将其他的一些类库或者框枉成在一LQ集成的技术众多,而且有一些技术在国内甚至很少有h知道Q资料也比较,所以虽然作者经q了一些测试,但都是基于英文编码的Q而对于中文编码来_q潜在的存在着一些问题,虽然不是AppFuse的问题,但却降低了开发速度Q下面是我在开发过E中遇到q的问题Q有些解决了Q有些还没有解决Q?br /> 一QStruts
1Q?AppFuse中默认的MVC框架是StrutsQ而且使用的是LookupDispatchActionQƈ且用的是按钮(buttonQ,在XP下用IE览效果q可以,但如果在2000或?8下,׃外观很难看,而且当时我还遇到一个问题:如果按钮昄中文Q则在DisplayTag中翻失灵,而且报错Q后来我把BaseAction的相x法改变了Q才可以使用Q因为国内的客户都比较重视界面,所以后来我那些按钮都Ҏ囄了,当然也要d一些方法了Q有炚w烦!
2Q?Struts中的标签如今推荐使用的只有html部分的标{了Q其他的标签或者可以用JSTL替代Q或者已l不推荐使用了,而且AppFuse中推荐用JSTLQ而JSTL和struts的标{联合使用Ӟ需要的不是<html:标签>Q而是<html-el:标签>Q这个问题曾l困C我整?天?br /> 3Q?Struts的Validation的校验规则ƈ不完善,比如如果使用客户端的javascript校验Q则在邮׃输入汉字Ҏ校验不出来,C服务器端报错?br /> 4Q最严重的问题是AppFuse生成的Struts的validation.xml文g中有许多多余?#8220;.”Q如果你L了,常常在执行ant?deployd时又恢复原样。这h提交表单的时候经怼报javascript的脚本错误或者缺对象或者缺valueQ所以我会手工的修改q个文gQ然后把修改后的文g备䆾Q当重新生成有错误的文gӞ我会用备份的没有错误的文件去覆盖?br /> 5Q?Struts的validatioin对于使用同一个FormBean的Action的校验方式比较复杂。(待解冻I?br /> 二.Hibernate
1Q?Hibernate是现在受到越来越多的人推崇的一个ORM工具Q框架、类库)Q它我们从J琐的用JDBC的开发过E中解放出来Q但同时也带来了新的问题Q如学习曲线Q执行效率,数据库设计优化,q有最重要的灵zL。Hibernate不是一个很Ҏ上手的东西,要完全驾驭它q需要读很多资料Q但好的资料却很?br /> 2Q?使用Xdoclet可以很方便的生成Hibernate中的持久cȝ配置文gQ?.hbm.xmlQ?但对一些特D的映射却无能ؓ力,如用序列的id生成规则Q序列的名字没有地方写,所以也只好先利用它生成主要的内容,然后手工修改?br /> 3Q?同样q是id的生成策略问题,如果使用序列、hilo{需要一些数据库机制支持的策略时QschemaExportq不能自动生成序列或者保存当前id的表Q这工作仍然要手工解决?br /> 4Q?Hibernate中提供了几种兌Q一对一、一对多、多对多Q但对于怎样调整效率却没有一个很明确的提C,q要Ҏ情况判定Q这带来和一些弹性的设计?br /> 5Q?Hibernate中可以选择的操作数据库的方式有3U,其中HQL功能最强大Q但有些功能使用标准查询可能会更方便Q但会有一些限Ӟ所以虽然它很灵z,但易用性不如JDBC好?br /> 三.Spring
在AppFuse的过E中QSpring完全隐藏在幕后,除了一些配|外Q几乎感觉不到它的存在,所以我在用它的过E中q没有遇C么麻烦,q里只是单的介绍一下它在AppFuse中v到的作用?br /> 1Q?Spring在AppFuse中v到的主要作用是对Hibernate的Session和事务的理Q利用Spring装的Hibernate模板c,我们大大地减了实现DAO的代码行数?br /> 2Q?SpringqvCq接映射文g和类之间的关联,及接口和实现cM间的兌Q这些都依赖于Spring的IoC的机制的实现?br /> 3Q?对于字符q行~码和解码部分用CSpring自带的FilterQ只需要在配置文g中配|就好了?/p>

四.SiteMesh
SiteMesh是一个基于Decorator模式的技术,它可以修饰返回的|页文gQ它的工作方式受到越来越多的人的推崇Q这点从Manning出版的一些技术书c中可以看出来?br /> 我在使用SiteMesh的过E中q不利Q我参考了《Java Open Source Programming》,q本书中说SiteMesh在默认的情况下不对下载文件进行装饎ͼ但我在下载文件时发现Q我的文件内容被丢弃了,取而代之的?SiteMesh的模板的内容Q后来我通过修改SiteMesh的配|文件解决了q个问题Q但感觉q有一些不太清楚的地方需要学习?/p>

五.DisplayTag
DisplayTag 是一个优U的显C内容的标签Q从SourceForge的访问量来看Q它是很z跃的项目,仅次于Ant、Hibernate、Xdoclet{几个著名的目Q我ȝQ它的主要功能有4:昄、分c排序、将昄的数据写入指定类型的文g中,然后下蝲?br /> 1Q?据我使用的情늜Q我只用了分页和显C的功能Q因为当时我没有很好的解决中文编码的问题Q所以排序会有问题,直到昨天Q我在朋友的帮助下解决了q个问题Q至此我可以攑ֿ使用的功能又增加了排?我昨天简单的试了一下是可以??/p>

2Q?但对于将昄的内容生成到一个指定格式的文g中的功能却有着很多~陷Q如Q?br /> Q?Q?生成的文件中只有昄的数据,那些没有昄在界面上的的数据Q则不会被写到文件中?br /> Q?Q?如果修改了DisplayTag的显C的内容Q比如添加一列,在这列中的内容不是字W,而是HTML的标{,则生成的文g只有q些HTML标签Q而没有数据?br /> Q?Q?即DisplayTag中没有我们定制的HTML脚本Q生成的文g偶尔也有问题Q比如:它会?#8220;007”生成?#8220;7”Q把字符串自动的转换为整型倹{有时候还生成I白内容的文件?br /> Q?Q?DisplayTag生成的Excel文g兼容性不好,有时在Excel2003中不能正常打开Q或者在XP下打开报错?br /> 后来Q我看了作者写的《Spring Live》,书中说如果想实现E_的ExcelQ推荐用POIQ于是我使用POI生成ExcelQ稳定性和兼容性都不错?/p>

六.DBUnit
DBUnit是一个可以被Ant集成的向数据库中d数据和备份数据的一个类库,配置很方便,因ؓAppFuse已经集成好了Q所以用也很容易?br /> 但是如果你用EditPlus之类的工h工修改了AppFuse生成的内容,则执行Ant的setup、setup-db或者deploy的Q务时Q常常报错,说无效的格式Q这是因个被手工修改的文件再ơ被AppFuse执行后,它的W一行的文g声明的前几个字母是无效的Q是因ؓ本地的字W集~码的原因而引起了qQ如果把q几个无效的字母LQ问题就解决了?/p>

七.Struts Menu
Struts Menu也是AppFuse的作者开发的一个开源YӞ它可以根据配|文件读取当前用户可以用的功能菜单Q这个功能是我一直以来都惌的,我也扑ֈ了一些代码,但实现的都不如这个完善,没什么好说的Q用简单,配置ҎQ很好的解决了我的问题?br /> 问题是我只用了AppFuse提供?个角Ԍ对于多个角色的实验我q没有做?/p>

八.XDoclet
在AppFuse中,使用Xdoclet生成了几乎一切的配置文gQStruts-config.xml、web.xml、validation.xml?.hbm.xml{文Ӟ如果使用AppGen的话Q还会生成更多的文gQ这一切都是用Xdoclet实现的?br /> 问题是我在Struts部分提到的,生成的Validation.xml文g中会多生成一?#8220;.”Q另外在生成资源文g时也会多生成一?#8220;.”Q目前我没有很好的阅读这D代码,不知道是不是Xdoclet的问题?/p>

九.Ant
Antq没有什么问题,但在执行作者写的Antd的时候,有一些Q务不能正常执行,比如Q运行模拟对象测试的dQ作者也?.7版本的修复列表中提到以前版本有些antd不能执行Q在1.7中修改了一些antdQ他们能够正常的执行了?br /> 实际上,我们如果使用AppGenq行开发的话,使用的Q务一般不过8个?/p>

十.JSTL
JSTL 是个好东西,我常用的?lt;c:>?lt;fmt:>部分的标{,但是如果使用JSTLq行逻辑判断Q我q没有感觉比使用JSP的代码块优雅多少。另外,熟悉JSTL也需要一D|_我就l历了面对着JSP面不知道该怎么写JSTL语法的困境。当ӞAppFuse中用的基本都是 JSTLQ包括向DisplayTag传递显C的数据Q用的都是JSTL语法Q这斚w的资料挺多,我参考的是电子工业出版社出的《JSP2.0技术》,说的很详l?/p>

十一.Tomcat
你也怼_“Tomcat׃用说了吧Q?#8221;Q是的,Tomcat一般都会用,但是 ―――――――――――――Tomcat5和Tomcat4.X对于中文~码使用了不同的机制Q这个问题困C我好久,我解决了面上写入汉字显CZؕ码的问题Q我也曾l以为DisplayTagҎ字不能排序,也不能正常分|因ؓDisplayTag的开发者都是老外Q是因ؓ他们没有考虑中文的关pȝ原因?br /> 直到昨天Q我才知道这一切都是因为Tomcat5Ҏ字编码的实现的方式和Tomcat4不一L原因Q如果感兴趣Q可以看看这个帖子: http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0

十二.JavaScript
JavaScript单易学,但想q用自如׃太容易了。AppFuse中嵌入了几个js文gQ里面包含了许多函数Q值得我们好好的研I一下,比如Q如果有一个必填字D|有填写,AppFuse会自动的聚焦在那个input上,cM的小技巧有很多Q你可以自己ȝ看?br /> 但AppFuse 自带的JavaScript脚本有一个BugQ就是当DisplatyTag中没有可以显C的数据Ӟ你用鼠标单击Q它会报JavaScript错误Q你仔细研究一下function highlightTableRows(tableId) q道了Q我的解军_法是在location.href = link.getAttribute("href");前面d一行判断:if (link != null)?/p>

十三.资源文g国际?br /> 对于Struts和DisplayTag都涉及到资源文g国际化AppFuse1.6.1很好的解决了Struts资源映射文g国际化的问题Q你只需要在对应本国语言的资源文件中写入汉字QAnt中有一Ҏ行native2ascii的Q务,AppFuse自动的ؓ你进行了资源文g的编码{换,而对?DisplayTag的资源文仉题,q要自己执行native2ascii命oQؓ了避免每ơ都输入一串命令,我用Delphi写了个小工具Q可视化的选择资源文gQ点L钮自动执行该命oQ底层依赖于JDK?/p>


l过2个多月的学习Q我感觉q个框架非常不错Q它为我以后的项目开发指Z一个新的方向,但如果想很熟l的使用q个框架q行开发,臛_要对以下几种技术比较熟l:Struts(或者WebWork、Spring及其他的已经整合q来的MVC框架)、HibernateQ或者ibatisQ、JSTLQ当然其他的技术至也要知道一点,否则遇到问题都不知道出在哪里?/p>


目前我还没有解决的问题有Q?br /> 1Q?如何在翻늚时候才d下面的数据?
2Q?怎样对用同一个FormBean的多个Formq行客户端校验?
3Q?怎样优化Hibernate的效率?《Hibernate In Action》中提供了多U策略,有些时候应该用lazyQ有些时候应该用outer-join?br /> 4Q在什么时机生成导出文Ӟ目前我是在查询的Action中同时生成了导出文gQ否则,C下一,我就不知道查询条件了Q当Ӟ如果把拼装后的HQL存储在Session或者Hidden中也可以解决q个问题Q但是这样就破坏了DAO的封装,要把DAO装后的HQL发送给ActionQ然后发送的?Web界面层,所以目前我q在犹U生成导出文g的时机选择在哪里?
5Q?什么时候应该自p取数据库q接Q执行native SQLQ具体需要注意些什么?
6Q?SiteMesh的模板优化?
7Q?DisplayTag的底层实玎ͼ


每个问题都比较棘手,要一个一个解冻I

q个框架的优ҎQ如果熟悉了开发流E,可以大幅度的提高开发速度Q如果业务不是很复杂Q用AppGen可以生成60%左右的代码,而且E序可维护性好Q因Z者用了多个设计模式对各个层面进行了装Q所以不同的模块代码风格出奇的一_有利于开发h员快速上手,也有利于接收其他开发h员遗留的代码?/p>

兔八?br /> 2004-2-3下午15:51

++++++++++++++++++++

引用:
有没有成功的目同我们分享一?

 

我已l用AppFuse开发了2个项目了Q都是教育系l的Q系l都不大Q我一个h用实际开发一个月Q因为是公司的项目,源码不好外发Q但主要的东襉K是一LQ对于AppFuse我也没有修改多少Q否则,往新版本移植就会有问题了?br /> 我遇到的问题Q能惌v来的我都写下来了Q如果有其他的问题,我们可以一赯论?br /> 最q我有个朋友在用WebWork的AppFuse版本q行开发,他遇到的问题和我基本差不多,有交才有进步,呵呵Q?br /> Very Happy

感谢g几位的热心解{,谢谢Q?/p>

+++++++++++++++++++++++

引用:
目前我还没有解决的问题有Q?br /> 1Q?如何在翻늚时候才d下面的数据?
2Q?怎样对用同一个FormBean的多个Formq行客户端校验?
3Q?怎样优化Hibernate的效率?《Hibernate In Action》中提供了多U策略,有些时候应该用lazyQ有些时候应该用outer-join?br /> 4Q在什么时机生成导出文Ӟ目前我是在查询的Action中同时生成了导出文gQ否则,C下一,我就不知道查询条件了Q当Ӟ如果把拼装后的HQL存储在Session或者Hidden中也可以解决q个问题Q但是这样就破坏了DAO的封装,要把DAO装后的HQL发送给ActionQ然后发送的?Web界面层,所以目前我q在犹U生成导出文g的时机选择在哪里?
5Q?什么时候应该自p取数据库q接Q执行native SQLQ具体需要注意些什么?
6Q?SiteMesh的模板优化?
7Q?DisplayTag的底层实玎ͼ


1.关于页的问题,如果你刚开始用AppFuse开发的话,推荐使用valuelist,它可以和Hibernate很好的集成,我的一个网友用的就是这个东西,虽然界面没有DisplayTag漂亮Q但关于分页却不用你操太多的心,
因ؓq几天天天开会,所以也没有做些技术实验,另一个朋友告诉我有一个老外把DisplayTag分页部分修改了,在JIRA上有源码下蝲Q我下来了,q没有看Q还有一个思\Q就是分析DisplayTag的分늚格式Q然后用Filter解析Q然后把当前号传入DAOQ然后用标准查询进行查询分,但要对AppFuse的接口和Ҏd参数Q正在犹豫中Q还有更单的ҎQ直接在Session中放入当前的号Q每ơ都hQ就不用Filter了,然后同样修改Ҏ和接口?/p>

2.对于Struts的用同一个FormBean的多个Formq行客户端校验,在孙卫琴的Struts的书中已l提CQ即使她的方法不用Q也可以手写JavaScript来解冻I只是我不愿意而已Q如果别无他法,则只能如此了?/p>

3. 优化Hibernate的效率,其实Ҏ的程序来说问题不大,我的表比较少Q基本只?层的U联Q而且对于数据字典和业务表之间的关联,我采用的是业务表到数据字典表的many-to-oneQ这L单向兌比较单,也能够满x的要求,性能会好一点点Q再加上分页功能Q只查询当前也内容,然后参考《Hibernate In Action》的W七章的内容Q提高接收效率应该是没有问题的?/p>

4.关于到处文g的时机,我正在看关于模式的书c,正在扄案,其实q有个简单的办法Q就是把生成导出文g单独的实玎ͼ用户点击按钮才生产,当然q样p把用L查询条gC来,当然也涉及到修改接口和方法了QAppFuse中,修改接口和方法很ȝQ如果代码生成后再修改,要改动很多处Q所以前期设计很重要?/p>

5.关于q一点,我一直在找一个硬性的标准Q比如关联表过多少个等{条件就应该自己获取数据库连接,但现在看来这也不是绝对的Q如果能够大q度提高效率Q或者?native SQL可以减少工作量或者节省时间的话,那就可以使用Q只是要对这U方式的利弊要有所了解Q不q的是,我还没有q样试过Q试q的朋友h供些Q谢谢!

6.SiteMesh的优化,我看C片文章,也是个老外写的Q忘了出处,说SiteMeshҎ能影响不大Q可以放心用,那我暂时不考虑它了Q呵c?/p>

7.DisplayTag的底层的原理我早q道,而且它的文档的流E图也有Q只是我需要知道更详细的实现细节,最q在L码,应该很快有l果了,如果我有好消息,会来q里把解x案脓出来?/p>


上面的文字只是我目前的一些思\Q因为天天开会,也没有做技术实验,q不知道可行的程度,但我惛_该都可以实现Q我只不q是在找更好的办法,如果你有M好的思\或者徏议,请不吝告知,谢谢QQ何徏议和意见都是受欢q的Q只是要详细些,不要拿些I洞的模式来敯我,呵呵Q目前这L“高手”不少Q我有些受够了,呵呵

 

本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/changzhang/archive/2008/03/12/2172675.aspx





菜毛毛 2010-03-05 14:40 发表评论
]]>
UTF8与国际化http://www.aygfsteel.com/caizh2009/archive/2010/03/05/314580.html菜毛毛菜毛毛Fri, 05 Mar 2010 03:36:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2010/03/05/314580.htmlhttp://www.aygfsteel.com/caizh2009/comments/314580.htmlhttp://www.aygfsteel.com/caizh2009/archive/2010/03/05/314580.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/314580.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/314580.html1.UTF-8

原来用惯了GBKQ被大家一再怂恿Q才下定军_整个目换用UTF-8~码?/p>

~码问题几乎与所有国内Java目怼而生Q不同内核的Linux、英文版日文版的WindowsXPL让GBK很头痛,而改用UTF-8后,忽然p爽了QUTF-8Q全世界语系q马代夫语都有自己的位,实在找不到理׃ؓ什么还要用只支持大中华的GBK?br />

而且Springside也成了一个带有大量UTF-8中文注释的项目?/p>

原GBK目的{换方?/h3>

  把自己当成R衣厂奛_Q机械的使用UltraEdit和EditPlus的{换功能,忙活一两个时Q怎么都可以{完所有文件了?/p>

  其中UltraEdit的{换方法是文g--〉{?-〉ASCII to UTF-8(Unicode~辑)。最好在Advanced-〉本C码页那里也设一下UTF-8?/p>

  然后可以用设了UTF-8选项的IDE如IDEA,Eclipse直接~辑了?/p>

2.国际?I18N

      后台的menu.jsp ?editBook.jsp q有业务异常c,演示了i18N的应用?/p>

2.1 i18N基础      

  1.~写messages.zh_CN.properties

     用中文写完后Q用java带的native2ascii.exe或者ant的natived把它转成非hcȝUnicode~码?/p>

  2.在纯Java API里,国际化是q样做的Q?/p>

ResourceBundle rb = ResourceBundle.getBundle("messages");
String welcome = rb.getString("welcome");
String welcomeCalvin = MessageFormat.format(welcome,new String[]{"calvin"});

  W一二句从classpath里找到messages_zh_CN.propertiesQ读?Ƣ迎你,{0}"字样?/p>

  W三局把上文格式化?Ƣ迎你,calvin" 

 3.在Servlet环境下,国际化是q样做的   

51.la 专业、免贏V强健的讉Kl计 则靠<fmt:message>tag

 

<%@ taglib uri="
<fmt:message key="welcome"/>

      可以用context-param来定义默认的properties文g

    <context-param>
            <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
            <param-value>messages</param-value>
    </context-param>

     不过q样定义的缺Ҏ只能定义一个文Ӟ如果所有信息都集中在一个文件会好长Q而如果有多个propertiesQ就惟有在页面用<fmt:bundle>l定了?/p>

2.2 Spring的messageSource增强

Spring增加了MessageSource的概?/p>

  一是ApplicationContext充当一个单例的角色Q不再需要每ơ用i18旉初始化一ơResourceBundle

  二是可以代表多个Resource Bundle.

  在ApplicationContext的定义文件中Q增加如下节点: 

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

    <property name="basename" value= "messages"/>
</bean>

在pure Java?/p>

context.getMessage("welcome", null, LocaleContextHolder.getLocale())

而经Spring MVC JSTL ViewResolver调用的JSPQ?lt;fmt:message>l发挥它的功效?/p>

不过q里挺麻烦的Q第一如果不是从MVC JSTL转的QmessageSource的定义就会失效。而如果定义了<context-param>Q则messageSource的定义又会失?......

 q有Q?lt;spring:message> 鸡肋一块,因ؓ它如果找不到key对应的就会抛异常Q好恐怖?/p>

q还有,springq有有趣的theme机制Q和i18n一L原理Q解决了"做成囄的文?的国际化Q让不同语言的美术字囄的\径分别定义在theme_zh_CN.properties和theme_en_US.properties里面?/p>

菜毛毛 2010-03-05 11:36 发表评论
]]>
վ֩ģ壺 ӯ| բ| ɽ| ƴ| ͬ| | ɽ| Դ| | | ɯ| | | ӱʡ| ԣ| | | | | | | ɽ| | | | Ʊ| ɽ| ƽԭ| | ˳| Ƹ| պ| | | | Ҵ| | Ϫ| ʯ| | |