📄 infoq 用jsf-dwr-dojo创建动态web应用.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0089)http://www.infoq.com/cn/articles/jsf-dojo-dwr;jsessionid=24078313C21B1223C70FE81772483E76 -->
<HTML><HEAD><TITLE>InfoQ: 用JSF/DWR/DOJO创建动态Web应用</TITLE>
<META http-equiv=pragma content=no-cache>
<META http-equiv=cache-control content=no-cache>
<META http-equiv=expires content=0>
<META http-equiv=content-type content="text/html; charset=utf-8">
<META content="© 2006 C4Media" name=copyright>
<META content=alex[at]c4media[dot]com name=author><LINK media=screen
href="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/style.css" type=text/css
rel=stylesheet><LINK media=print
href="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/print.css" type=text/css
rel=stylesheet><!--[if IE]><LINK media=screen
href="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/style-ie.css" type=text/css
rel=stylesheet><![endif]--><LINK href="/favicon.ico" type=image/x-icon
rel="shortcut icon">
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/JSResource_zh.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/commons.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/ContentSummary.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/CategoryManagement.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/engine.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/util.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/UserCategoryUtil.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/DWRRewriteAction.js"
type=text/javascript></SCRIPT>
<META content="jsf dojo dwr,Java,Web框架,DWR,Dojo,JSF," name=keywords>
<META
content="JSF、DWR和Dojo都是凭本身实力流行起来的技术。不管怎样,将它们集成到一个portal环境可以作为一场恐吓演习(intimidating exercise)。本文展示了一个开发者是如何用自定义JSF组件实现该解决方案的。"
name=description>
<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/prototype.js"
type=text/javascript></SCRIPT>
<SCRIPT src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/login.js"
type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
var loginLanguage='zh';
var loginURL='/login.action';
var registerURL='/cn/reginit.action';
var reactivateURL='/reactivate.action';
var reserpasswordURL='/resetpassword.action';
var loggedIn=false;
var logoutURL='/logout.action';
var editUserURL='/cn/edituser.action';
var aboutURL='/cn/about.jsp';
var homeURL='/';
</SCRIPT>
<DIV id=tooltip style="DISPLAY: none"></DIV>
<DIV id=loginWindow style="DISPLAY: none"></DIV>
<DIV id=tagPopup style="DISPLAY: none"></DIV>
<DIV id=container>
<H1 class=logo><A
href="http://www.infoq.com/cn/articles/jsf-dojo-dwr;jsessionid=24078313C21B1223C70FE81772483E76#">InfoQ</A></H1>
<DIV id=header>
<P class=skip><A
href="http://www.infoq.com/cn/articles/jsf-dojo-dwr;jsessionid=24078313C21B1223C70FE81772483E76#content">直接转至内容</A></P>
<DIV id=quote>
<P>时刻关注企业软件开发领域的变化与创新</P></DIV>
<DIV
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 2px; WIDTH: 29%; PADDING-TOP: 0px; POSITION: relative">
<P
style="PADDING-RIGHT: 37px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 6px"><A
href="http://www.infoq.com/">En</A> | 中文 | <A
href="http://www.infoq.com/jp/">日本語</A> </P>
<P
style="PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 6px; MARGIN: 0px; PADDING-TOP: 6px; TEXT-ALIGN: left"><A
style="COLOR: black; TEXT-DECORATION: none"
href="http://www.infoq.com/cn/articles/">中文站1.4版</A> </P></DIV></DIV>
<DIV id=sidebar>
<DIV id=sidebar-wrapper>
<DIV class=s-logo>
<P class=r-logo><A href="http://www.infoq.com/cn/">InfoQ</A></P></DIV><SPAN
style="FONT-SIZE: small">三月 274,489名独立访问用户 </SPAN>
<DIV class=box-simple>
<DIV class=box-simple-top></DIV>
<DIV class=box-simple-content id=mainLoginArea>
<UL>
<LI><A href="http://www.infoq.com/cn/reginit.action">注册</A>
<LI><A
onclick="javascript:showLoginWindow(this,ALIGN_LEFT,new Function('void(0);'));"
href="javascript:void(0)">登录</A>
<LI><A href="http://www.infoq.com/cn/about.jsp">关于我们</A>
<LI><A
href="http://www.infoq.com/cn/rss/rss.action?token=j83F1Tp1B6bVZHx3hJ8oNR51ku3bSdHC">个性化RSS<IMG
alt="RSS Feed"
src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/btn-rss-blue.gif"></A>
<LI><A href="http://www.infoq.com/cn/">首页</A> </LI></UL></DIV>
<DIV class=box-simple-bottom></DIV></DIV>
<DIV class=box id=mainCommunitiesArea>
<H2>您的社区</H2>
<DIV class=top-corners>
<DIV></DIV></DIV>
<DIV class=box-content>
<DIV class=box-content-2>
<SCRIPT
language=JavaScript>var communityChangeMessage = '您的新设定将在下次页面刷新时启用。';</SCRIPT>
<DIV id=communities>
<UL>
<LI><INPUT id=community739 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=java> <A
href="http://www.infoq.com/cn/java/">Java</A>
<LI><INPUT id=community740 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=dotnet> <A
href="http://www.infoq.com/cn/dotnet/">.NET</A>
<LI><INPUT id=community741 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=ruby> <A
href="http://www.infoq.com/cn/ruby/">Ruby</A>
<LI><INPUT id=community742 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=soa> <A
href="http://www.infoq.com/cn/soa/">SOA</A>
<LI><INPUT id=community743 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=agile> <A
href="http://www.infoq.com/cn/agile/">Agile</A>
<LI><INPUT id=community1390 onclick=includeExcludeCommunity(this);
type=checkbox CHECKED value=true name=architecture> <A
href="http://www.infoq.com/cn/architecture/">Architecture</A> </LI></UL></DIV>
<DIV id=communitiesMessage></DIV></DIV></DIV>
<DIV class=bottom-corners>
<DIV></DIV></DIV></DIV>
<SCRIPT type=text/javascript>
function doSearch(){
var searchString = document.getElementById("searchId").value;
document.getElementById("searchTerm").value = searchString + " site:www.infoq.com";
document.getElementById("submitForm").submit();
}
function clearSearchText(){
var searchtext = document.getElementById("searchId").value
if(searchtext==JSResource.search){
document.getElementById("searchId").value="";
}
}
</SCRIPT>
<FORM id=submitForm action=http://www.google.com/search method=get
target=_blank><INPUT id=searchTerm type=hidden name=q> </FORM>
<DIV style="BACKGROUND: url(/images/bg-search.gif) no-repeat 0px 4px"><INPUT
onkeypress="if ((event.which && event.which == 13)||(event.keyCode && event.keyCode == 13)){doSearch();}"
id=searchId onblur="if(this.value=='') this.value=JSResource.search"
style="BORDER-RIGHT: 0px; PADDING-RIGHT: 9px; BORDER-TOP: 0px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; WIDTH: 85%; PADDING-TOP: 0px; BORDER-BOTTOM: 0px; HEIGHT: 19px; BACKGROUND-COLOR: transparent"
onclick=clearSearchText(); value=Search name=search> <A
onclick="doSearch();return false;"
href="http://www.infoq.com/cn/articles/jsf-dojo-dwr;jsessionid=24078313C21B1223C70FE81772483E76#"><IMG
alt=Search src="InfoQ%20用JSF-DWR-DOJO创建动态Web应用_files/btn-search.gif"></A> </DIV>
<DIV class=box-simple>
<DIV class=box-simple-top></DIV>
<DIV class=box-simple-content id=featuredTopics>
<H2>特别专题</H2>
<DIV>
<UL>
<LI><A href="http://www.infoq.com/cn/j+n/">Java + .Net集成</A>
</LI></UL></DIV></DIV>
<DIV class=box-simple-bottom></DIV></DIV>
<DIV class=box-simple>
<DIV class=box-simple-top></DIV>
<DIV class="box-simple-content adsTower2" id=leftbartextlinks>
<DIV style="BACKGROUND: white; WIDTH: 120px">
<H3>赞助商链接</H3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -