锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码专区电影在线观看,亚洲综合激情视频,亚洲AV乱码久久精品蜜桃http://www.tkk7.com/software5168/zh-cnFri, 09 May 2025 18:12:25 GMTFri, 09 May 2025 18:12:25 GMT60iframe楂樺害鑷姩璋冩暣(閫氳繃IE,firefox,opera嫻嬭瘯)http://www.tkk7.com/software5168/archive/2009/04/21/266752.htmlsoftware5168software5168Tue, 21 Apr 2009 06:05:00 GMThttp://www.tkk7.com/software5168/archive/2009/04/21/266752.htmlhttp://www.tkk7.com/software5168/comments/266752.htmlhttp://www.tkk7.com/software5168/archive/2009/04/21/266752.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/266752.htmlhttp://www.tkk7.com/software5168/services/trackbacks/266752.html     <iframe id="mainIframe" scrolling="no" frameborder="0" width="100%" src="a.html"></iframe>
    <a href="#" onclick="page('a.html')">a欏甸潰</a><a href="#" onclick="page('b.html')">b欏甸潰</a>

2 a.html  //鍐呭祵欏甸潰
    <script language="javascript">
          changeHight();
    </script>

3. b.html  //鍐呭祵欏甸潰
     <script language="javascript">
          changeHight();
    </script>

4. page.js
 function changeHight(){
  var iFrm = parent.document.getElementById("mainIframe");
     var subWeb = iFrm.contentDocument;
     if(subWeb){
    if (subWeb.body.scrollHeight>480)
   iFrm.height = subWeb.body.scrollHeight+20;
  else
      iFrm.height=500;
  } 
  if(top.document.frames["mainIframe"].document && window.document.body.scrollHeight!="0"){
   parent.document.getElementById("mainIframe").style.height=window.document.body.scrollHeight;
  }
  if(top.document.frames["mainIframe"].document && window.document.body.scrollHeight=="0"){
   parent.document.getElementById("mainIframe").style.height=500;
  }
}

function page(page){
    document.getElementById("mainIframe").src=page;
}



閫犳垚IE,FireFox,Opera涓璉frame鏄劇ず宸紓鍘熷洜鍦ㄤ簬
1.iframe鍦‵ireFox涓彇娉曚負parent.document.getElementById("mainIframe").contentDocument,鑰屽湪ie,opera涓負parent.document.getElementById("mainIframe").document
2.褰撻〉闈㈡棤婊氬姩鏃訛紝window.document.body.scrollHeight鍦↖E涓兘鍙栧埌錛宖ireFox鍜孫pera涓彇涓嶅埌銆?

]]>
鏂囦歡涓婁紶涓嬭澆http://www.tkk7.com/software5168/archive/2009/02/26/256852.htmlsoftware5168software5168Thu, 26 Feb 2009 09:11:00 GMThttp://www.tkk7.com/software5168/archive/2009/02/26/256852.htmlhttp://www.tkk7.com/software5168/comments/256852.htmlhttp://www.tkk7.com/software5168/archive/2009/02/26/256852.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/256852.htmlhttp://www.tkk7.com/software5168/services/trackbacks/256852.html闃呰鍏ㄦ枃

]]>
濡備綍鎺у埗鍗曢夈佸閫夈佸垪琛ㄦhttp://www.tkk7.com/software5168/archive/2007/08/09/135402.htmlsoftware5168software5168Thu, 09 Aug 2007 01:17:00 GMThttp://www.tkk7.com/software5168/archive/2007/08/09/135402.htmlhttp://www.tkk7.com/software5168/comments/135402.htmlhttp://www.tkk7.com/software5168/archive/2007/08/09/135402.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/135402.htmlhttp://www.tkk7.com/software5168/services/trackbacks/135402.html涓嬮潰鏄儴鍒嗕唬鐮併?br><html>
<head>
<script language="javascript">
 function a(){
  window.document.getElementsByName("dx")[0].checked=true;
 }
 function b(){
  window.document.getElementsByName("dx")[0].checked=false;
 }
 function c(){
  window.document.getElementsByName("fx")[0].checked=true;
 }
 function d(){
  window.document.getElementsByName("fx")[0].checked=false;
 }
 function e(){
  for(i=0;i<window.document.getElementsByName("fx").length;i++){
      if(!window.document.getElementsByName("fx")[i].checked){
       window.document.getElementsByName("fx")[i].checked=true;
      }
     }
 }
 function f(){
  for(i=0;i<window.document.getElementsByName("fx").length;i++){
      if(window.document.getElementsByName("fx")[i].checked){
       window.document.getElementsByName("fx")[i].checked=false;
      }
     }
 }
 function g(){
  window.document.getElementById("lbka")[1].selected=true;
 }
 function h(){
  alert("閫夋嫨鍙蜂負:"+window.document.getElementById("lbka").selectedIndex + "    鍊間負:" +window.document.getElementById("lbka")[window.document.getElementById("lbka").selectedIndex].value+"    鏂囨湰鍊間負:" + window.document.getElementById("lbka")[window.document.getElementById("lbka").selectedIndex].text);
 }
 function m(){
  sel = false;
  var val="";
     for(i=0;i<window.document.getElementsByName("dx").length;i++){
      if(window.document.getElementsByName("dx")[i].checked){
       val = window.document.getElementsByName("dx")[i].value;
       sel=true;
    break;
      }  
     }
    if(sel){
   alert("鍗曢夊間負:"+val);
     
     }else{
   alert("璇烽夋嫨鏂囦歡");
      return false;
  }  
 }
 function j(){
  var sel = false;
  var val="";
     for(i=0;i<window.document.getElementsByName("fx").length;i++){
      if(window.document.getElementsByName("fx")[i].checked){
       if(val==""){
        val=window.document.getElementsByName("fx")[i].value;
       }else{
        val = val + "," +window.document.getElementsByName("fx")[i].value;
       } 
      }
     }
     if(val==""){
      alert("璇烽夋嫨鏂囦歡");
      return false;
     }else{
   alert("澶嶉夊間負:"+val);
  }
 }
</script>
</head>
<body>
<table id="table1" width="100%"  border="1" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td>鏂囦歡</td>
  <td>鍒楄〃妗?lt;/td>
  <td>鍗曢?lt;/td>
  <td>澶嶉?lt;/td>
 </tr>
 <tr>
  <td>鏂囦歡A</td>
  <td><select name="lbka"><option value="lbka1">鏂囦歡A1</option><option value="lbka2">鏂囦歡A2</option></select></td>
  <td><input type="radio" name="dx" value="dxa"></td>
  <td><input type="checkbox" name="fx" value="fxa"></td>
 </tr>
 <tr>
  <td>鏂囦歡B</td>
  <td><select name="lbkb"><option value="lbkb1">鏂囦歡B1</option><option value="lbkb2">鏂囦歡B2</option></select></td>
  <td><input type="radio" name="dx" value="dxb"></td>
  <td><input type="checkbox" name="fx" value="fxb"></td>
 </tr>
 <tr>
  <td colspan="4">
   <a href="#" onclick="a();">鍗曢堿閫変腑</a>
   <a href="#" onclick="b();">鍗曢堿涓嶉変腑</a>
   <a href="#" onclick="c();">澶嶉堿閫変腑</a>
   <a href="#" onclick="d();">澶嶉堿涓嶉変腑</a>
   <a href="#" onclick="e();">澶嶉夊叏閫?lt;/a>
   <a href="#" onclick="f();">澶嶉夊叏涓嶉?lt;/a>
   <a href="#" onclick="g();">閫変腑鍒楄〃妗嗘枃浠禔2</a>
   <a href="#" onclick="h();">鍙栧緱閫変腑鍒楄〃妗咥鐨勫?鏂囨湰</a>
   <a href="#" onclick="m();">鍒ゆ柇鍗曢夐夋嫨</a>
   <a href="#" onclick="j();">鍒ゆ柇澶嶉夐夋嫨</a>
  </td>
 </tr>
</table>
</body>
</html>

]]>
濡備綍鍔ㄦ佹帶鍒惰〃鍗曞厓绱?/title><link>http://www.tkk7.com/software5168/archive/2007/08/08/135271.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 08 Aug 2007 08:11:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2007/08/08/135271.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/135271.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2007/08/08/135271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/135271.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/135271.html</trackback:ping><description><![CDATA[涓昏閫氳繃javascript瀹炵幇錛岀悊瑙E鐨凞OM緇撴瀯錛屽茍璋冪敤鍏冪礌鐨勫浐瀹氭柟娉曪紝鍙互瀹炵幇琛ㄥ崟鍏冪礌鐨勫姩鎬佸鍒犮?br>涓嬮潰鏄儴鍒嗕唬鐮併?br><html><br><head><br><script language="javascript"><br> function add(){<br>  //鍙栧緱琛ㄦ牸<br>  var table = document.getElementById("table1");<br>  //鍙栧緱琛屾暟;<br>  var num = table.rows.length;<br>  //澧炲姞涓琛?br>  var newrow1 = table.insertRow(num-1);<br>  var cell1 = newrow1.insertCell();<br>     var cell2 = newrow1.insertCell();<br>     var cell3 = newrow1.insertCell();<br>     var cell4 = newrow1.insertCell();<br>  //澧炲姞琛屽厓绱?br>  var inputcell2 = document.createElement("<input size='32' name=''>");<br>     cell2.appendChild(inputcell2);<br>  var inputcell4_1 = document.createElement("<input size='32' name=''>");<br>  var inputcell4_2 = document.createElement("<input type='button' value='鍒犻櫎鍏冪礌'onClick='del(this);'/>");<br>     cell4.appendChild(inputcell4_1);<br>  cell4.appendChild(inputcell4_2);<br>  //鍒鋒柊鏍囩鏄劇ず<br>  frash();<br> }<br> function del(obj){<br>  //鍙栧緱鎸夐挳鎵鍦ㄨ<br>  var i = obj.parentNode.parentNode.rowIndex;<br>      var tab = document.getElementById("table1");<br>      //鍒犻櫎鎸夐挳鎵鍦ㄨ<br>  tab.deleteRow(i-1);  <br>      frash();<br> }<br> function frash(){<br>  var table = document.getElementById("table1");<br>     var num = table.rows.length;<br>     //璁$畻鍔ㄦ佸厓绱犱釜鏁?br>  var n = num-2;<br>     for(i=1;i<=n;i++){<br>   //璁劇疆鏍囩鍊?br>      table.rows[i].cells[0].innerText="鍏冪礌"+i+"灞炴";<br>      //璁劇疆灞炴у?br>   table.rows[i].cells[1].childNodes[0].setAttribute("name","ysa"+i);<br>      table.rows[i].cells[2].innerText="鍏冪礌"+i+"灞炴";<br>      table.rows[i].cells[3].childNodes[0].setAttribute("name","ysb"+i);<br>     } <br> }<br></script><br></head><br><body><br><table id="table1" width="100%"  border="1" align="center" cellpadding="0" cellspacing="0"><br> <tr><br>  <td>鏍囩1</td><br>  <td><input name="a"></td><br>  <td>鏍囩2</td><br>  <td><input name="b"></td><br> </tr><br> <tr><br>  <td colspan="4" align="center"><a href="#" onclick="add();">澧炲姞鍏冪礌</a></td><br> </tr><br></table><br></body><br></html> <img src ="http://www.tkk7.com/software5168/aggbug/135271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2007-08-08 16:11 <a href="http://www.tkk7.com/software5168/archive/2007/08/08/135271.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>濡備綍瀹炵幇欏甸潰鎵撳嵃http://www.tkk7.com/software5168/archive/2007/08/08/135193.htmlsoftware5168software5168Wed, 08 Aug 2007 03:27:00 GMThttp://www.tkk7.com/software5168/archive/2007/08/08/135193.htmlhttp://www.tkk7.com/software5168/comments/135193.htmlhttp://www.tkk7.com/software5168/archive/2007/08/08/135193.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/135193.htmlhttp://www.tkk7.com/software5168/services/trackbacks/135193.html涓嬮潰鏄儴鍒嗕唬鐮併?br><html>
<head>
<title>***涓婃搗甯傜溂鐥呴槻娌諱腑蹇冪梾浜虹粨甯愯垂鐢ㄦ姤琛?**</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--media=print 榪欎釜灞炴у彲浠ュ湪鎵撳嵃鏃舵湁鏁?->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
<style>
body,td,th
{
font-size: 12px;
}
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000;

border-collapse:collapse;
}
.NOPRINT {
font-family: "瀹嬩綋";
font-size: 12px;
}

</style>
<script language="javascript">
銆銆var i=0;
       function zoomL(){
 銆銆   i++;
 銆銆   document.getElementById("f").style.zoom=1+i/3;
銆銆}
       function zoomS(){
 銆銆   i--;
 銆銆   document.getElementById("f").style.zoom=1+i/3;
銆銆}
</script>
</head>

<body >
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT> </OBJECT>
<input type=button value=鎵撳嵃 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=鐩存帴鎵撳嵃 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=欏甸潰璁劇疆 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=鎵撳嵃棰勮 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
<input type=button value=鏀懼ぇ onclick="zoomL();" class="NOPRINT">
<input type=button value=緙╁皬 onclick="zoomS();" class="NOPRINT">
<br/>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="center">
<td colspan="5"><font size="3">涓婃搗甯傜溂鐥呴槻娌諱腑蹇冪梾浜虹粨甯愯垂鐢ㄦ姤琛紙A錛?</font></td>
</tr>
<tr>
<td>姹囨諱漢嬈?5</td>
<td>璐圭敤鍚堣 15853.12</td>
<td>緇熻鏃ユ湡 </td>
<td>鍒惰〃浜?023</td>
<td>鍒惰〃鏃ユ湡錛?004-05-13</td>
</tr>
</table>

<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" class="tabp" id="f">
<tr>
<td >濮撳悕</td>
<td >浣忛櫌鍙?lt;/td>
<td >縐戝</td>
<td >緇撳笎鏃ユ湡</td>
<td >鍑洪櫌鏃ユ湡</td>
<td >璐圭敤鍚堣</td>
<td >鍖諱繚浜ゆ槗璐圭敤</td>
<td >鍒嗙被緇欎粯璐圭敤</td>
<td >闈炲尰淇濅氦鏄撹垂</td>
</tr>
<tr>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td>
<td >&nbsp;</td> 
<td >&nbsp;</td> 
</tr>
</table>
<hr align="center" width="90%" size="1" noshade class="NOPRINT" >
<!--鍒嗛〉-->
<div class="PageNext"></div>
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" class="tabp">
<tr>
<td >絎?欏?lt;/td>
</tr>
<tr>
<td >鐪嬪埌鍒嗛〉浜嗗惂</td>
</tr>
<tr>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
</tr>
<tr>
<td ><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" >榪欐牱鐨勬姤琛?
瀵逛竴鑸殑瑕佹眰灝卞浜嗐?lt;/td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
</table>

<table width="780%" border="1" class="Noprint">
<tr>
<td>鑳戒笉鑳芥墦鍗?lt;/td>
</tr>
</table>

</body>
</html>


]]>
濡備綍鍚屾椂鎻愪氦琛ㄥ崟涓殑鏂囦歡鍜屾枃鏈?/title><link>http://www.tkk7.com/software5168/archive/2007/08/08/135184.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 08 Aug 2007 02:52:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2007/08/08/135184.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/135184.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2007/08/08/135184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/135184.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/135184.html</trackback:ping><description><![CDATA[<p>鎬濊礬鏄妸琛ㄥ崟綾誨瀷璁劇疆涓篹nctype="multipart/form-data"錛屽叾浠栬〃鍗曚腑鏂囨湰鏁版嵁閫氳繃javascript澶勭悊錛岄檮鍔犲湪action鍚庨潰錛屽悗鍙伴氳繃request.getParameter()鍙栧緱銆備笂浼犳枃浠惰皟鐢╟ommons-fileupload.jar涓柟娉曘?br><br>涓嬮潰鏄儴鍒嗕唬鐮併?br><form  name="ajform" action="/da.do" method="post" enctype="multipart/form-data"><br>   <tr><td><input name="a" value=""></td></tr><br>   <tr><td><input name="b" type="file"></td></tr><br>   <tr><td><a href="#" onclick="checksubmit();">鎻愪氦</a></td></tr><br></form></p> <script language="javascript"><br>   function checksubmit(){<br>      var value  = "/da.do?formAction=save";   <br>      value = value+"&a="+ window.document.getElementById("a").value;<br>      window.document.ajform.action=value;<br>      window.document.ajform.submit();<br>   }<br></script><br><br>String a = request.getParameter("a");<br>try {<br>      //鏂囦歡涓婁紶鐩綍“/file/wj”<br>    String filepath= request.getSession().getServletContext().getRealPath("/")+"file"+File.separator+"wj";<br>   //鏂囦歡涓婁紶涓存椂鐩綍“/file/temp”<br>    String tempPath = request.getSession().getServletContext().getRealPath("/")+"file"+File.separator+"temp";<br>    File dir = new File(filepath);<br>      //寤虹珛鐩綍<br>       if(!dir.exists()){<br>        dir.mkdirs();<br>       }<br>       File dir1 = new File(tempPath);<br>       if(!dir1.exists()){<br>        dir1.mkdirs();<br>       }<br>       DiskFileUpload fu = new DiskFileUpload();<br>       //璁劇疆鏈澶ф枃浠跺昂瀵革紝榪欓噷鏄?0MB<br>          fu.setSizeMax(10485760);<br>          //璁劇疆緙撳啿鍖哄ぇ灝忥紝榪欓噷鏄?kb<br>          fu.setSizeThreshold(4096);<br>          //璁劇疆涓存椂鐩綍錛?br>          fu.setRepositoryPath(tempPath);<br>          <br>    List fileItems = fu.parseRequest(request);<br>    Iterator iter = fileItems.iterator();<br>    while (iter.hasNext()) {<br>       FileItem item = (FileItem) iter.next();<br>        String fileName = item.getName();<br>        //鍒ゆ柇鏄惁涓烘枃浠?br>        if(fileName!=null){<br>         //鍙栨枃浠跺悕<br>         String name = fileName.substring(fileName.lastIndexOf(File.separator)+1);<br>         if(fileName!=null&& !fileName.equals("")) {          <br>           File file = new File(filepath+File.separator+name);<br>                   //涓婁紶鏂囦歡 <br>                  item.write(file);<br>                } <br>        }  <br>     }<br>   } catch (Exception e) {<br>       e.printStackTrace();<br>   } <img src ="http://www.tkk7.com/software5168/aggbug/135184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2007-08-08 10:52 <a href="http://www.tkk7.com/software5168/archive/2007/08/08/135184.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏈綆鍗曠殑瑙嗛欏甸潰http://www.tkk7.com/software5168/archive/2007/01/12/93506.htmlsoftware5168software5168Fri, 12 Jan 2007 10:34:00 GMThttp://www.tkk7.com/software5168/archive/2007/01/12/93506.htmlhttp://www.tkk7.com/software5168/comments/93506.htmlhttp://www.tkk7.com/software5168/archive/2007/01/12/93506.html#Feedback2http://www.tkk7.com/software5168/comments/commentRss/93506.htmlhttp://www.tkk7.com/software5168/services/trackbacks/93506.html<head>
</head>
<body>
<embed height=240 name=aa style="BORDER-BOTTOM:#2a8a21 3px solid;BORDER-LEFT:#2a8a21 3px 聽solid;BORDER-RIGHT:#2a8a21 3px solid;BORDER-TOP:#2a8a21 3px solid"
聽type=audio/x-pn-realaudio-plugin width=320 loop="no" console="clip1" reset="false"
聽controls="ImageWindow" src="a1.rmvb">
</embed><br>
<embed height=30 type=audio/x-pn-realaudio-plugin width=320聽 console="clip1"聽 reset="false" autostart="false" controls="controlpanel">
</embed><br>
<embed height=30 type=audio/x-pn-realaudio-plugin width=320聽 console="clip1"聽 reset="false" autostart="false" controls="statusbar">
</embed><br>
<Script Language=JavaScript>
function OpenFile(txt){
聽document.aa.src=txt.value;
}
</Script>
</body>
</html>

]]>
ant 妯℃澘http://www.tkk7.com/software5168/archive/2006/12/14/87658.htmlsoftware5168software5168Thu, 14 Dec 2006 03:03:00 GMThttp://www.tkk7.com/software5168/archive/2006/12/14/87658.htmlhttp://www.tkk7.com/software5168/comments/87658.htmlhttp://www.tkk7.com/software5168/archive/2006/12/14/87658.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/87658.htmlhttp://www.tkk7.com/software5168/services/trackbacks/87658.html<?xml version="1.0"?>
<project name="jartest" default="jar" basedir=".">
<property name="build.dir" value="${basedir}/build" />
<property name="build.classes.dir" value="${build.dir}/classes" />
<target name="jar" description="鎵撳寘鎴怞ar">
<jar jarfile="${basedir}/ejbfile.jar">
<fileset dir="${build.classes.dir}">
<include name="**/*.class" />
</fileset>
<metainf dir="${basedir}/META-INF ">
<include name="**" />
</metainf>
</jar>
</target>
</project>

2銆倃eb搴旂敤鎵撳寘
<?xml version="1.0"?>
<project name="wartest" default="war" basedir=".">
<target name="war" description="鍒涘緩WEB鍙戝竷鍖?>
<war warfile="${basedir}/EJBTest.war" webxml="${basedir}/WEB-INF/web.xml">
<fileset dir="${basedir}">
<include name="**"/>
<exclude name="build.xml" />
<exclude name="/WEB-INF/web.xml" />
</fileset>
</war>
</target>
</project>

]]>
鐢靛瓙涔︿笅杞借繛鎺?/title><link>http://www.tkk7.com/software5168/archive/2006/12/13/87382.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 13 Dec 2006 01:18:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/12/13/87382.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/87382.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/12/13/87382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/87382.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/87382.html</trackback:ping><description><![CDATA[ejb3.0瀹炰緥鏁欑▼<a ><br />http://book.knowsky.com/down/818.html</a><br /><br />J2EE搴旂敤涓嶣EA WebLogic Server(絎簩鐗?<br /><a >http://www.itepub.net/html/ebookcn/2006/0523/40144.html</a><br /><br />JavaScript鏉冨▉鎸囧崡絎洓鐗?br /><a >http://www.itepub.net/html/ebookcn/2006/0523/40153.html</a><br /><br />Jbuilder2006<br /><a >http://www.borland.com/downloads/download_jbuilder.html</a><br />JBuilder2006鐮磋В<br /><a >http://www.54bk.com/user1/2690/archives/2005/21893.html</a><br /><img src ="http://www.tkk7.com/software5168/aggbug/87382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-12-13 09:18 <a href="http://www.tkk7.com/software5168/archive/2006/12/13/87382.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>springMVC灝忕粨_1http://www.tkk7.com/software5168/archive/2006/10/09/74084.htmlsoftware5168software5168Mon, 09 Oct 2006 07:14:00 GMThttp://www.tkk7.com/software5168/archive/2006/10/09/74084.htmlhttp://www.tkk7.com/software5168/comments/74084.htmlhttp://www.tkk7.com/software5168/archive/2006/10/09/74084.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/74084.htmlhttp://www.tkk7.com/software5168/services/trackbacks/74084.html1.web.xml涓厤緗甋pring鐨剆ervlet鍜宻ervlet-mapping
聽聽聽<servlet>
聽聽聽聽聽聽聽 <servlet-name>example</servlet-name>
聽聽聽聽聽聽聽 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
聽聽聽聽聽聽聽聽<init-param>聽
聽聽聽聽聽聽聽聽聽聽聽聽<param-name>contextConfigLocation</param-name>聽
聽聽聽聽聽聽聽聽聽聽聽聽<param-value>/WEB-INF/application-servlet.xml</param-value>聽
聽聽聽聽聽聽聽聽</init-param>聽
聽聽聽聽聽聽聽聽<load-on-startup>1</load-on-startup>
聽聽聽 </servlet>
聽聽聽 <servlet-mapping>
聽聽聽聽聽聽聽 <servlet-name>example</servlet-name>
聽聽聽聽聽聽聽 <url-pattern>*.do</url-pattern>
聽聽聽 </servlet-mapping>
2.閰嶇疆spring閰嶇疆鏂囦歡application-servlet.xml
聽聽聽<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
聽聽聽聽聽<property name="prefix">
聽聽聽聽聽聽聽聽聽<value>/page/</value>
聽聽聽聽聽</property>
聽聽聽聽聽<property name="suffix">
聽聽聽聽聽聽聽聽聽<value>.jsp</value>
聽聽聽聽聽</property>
聽聽聽</bean>
聽聽聽<bean id="urlMapping"聽class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
聽聽聽聽聽聽聽聽<property name="mappings">
聽聽聽聽聽聽聽聽聽聽聽聽<props>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<prop key="/login.do">loginAction</prop>
聽聽聽聽聽聽聽聽聽聽聽聽</props>
聽聽聽聽聽聽聽聽</property>
聽聽聽</bean>
聽聽聽<bean id="loginAction" class="loginAction">
聽聽聽聽聽聽聽聽<property name="commandClass">
聽聽聽聽聽聽聽聽聽聽聽聽<value>聽LoginActionVo聽聽</value>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property name="formView">
聽聽聽聽聽聽聽聽聽聽聽聽<value>login</value>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property name="sessionForm">
聽聽聽聽聽聽聽聽聽聽聽聽<value>true</value>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property name="serviceLocator">
聽聽聽聽聽聽聽聽聽聽聽聽<ref bean="servicelocator" />
聽聽聽聽聽聽聽聽</property>
聽</bean>
3.鏂板緩欏炵辜鎵縎impleFormController錒愪甫瑜囧protected Object formBackingObject(HttpServletRequest request)聽鍜屄爌rotected ModelAndView onSubmit(HttpServletRequest request,聽HttpServletResponse response,
聽Object cmd, BindException ex)銆傚父鐢ㄧ祼妲嬬偤
聽聽聽protected Object formBackingObject(HttpServletRequest request){
聽聽聽聽聽聽LoginActionVo聽聽loginActionVo聽聽 = new LoginActionVo聽();
聽聽聽聽聽聽request.setAttribute("聽loginActionVo",聽loginActionVo);
聽聽聽聽聽聽return loginActionVo;
聽聽聽}
聽聽聽protected ModelAndView onSubmit(HttpServletRequest request,聽HttpServletResponse response,
聽聽聽聽聽聽聽Object cmd, BindException ex){
聽聽聽聽聽聽LoginActionVo聽聽loginActionVo =(LoginActionVo)cmd;
聽聽聽聽聽聽Map map = new HashMap();
聽聽聽聽聽map.put("聽loginActionVo",聽loginActionVo);
聽聽聽聽聽request.getSession().setAttribute(this.getFormSessionAttributeName(),聽loginActionVo);
聽聽聽聽聽return new ModelAndView("login",map);
聽 }

4.灝噅sp闋侀潰鍙冩暩鍜孷O閫茶綞佸畾銆傜秮瀹氱殑鏂規硶鐐洪爜闈㈠厓绱爊ame鍜孷O灝嶈薄灝嶆噳錒愮暥閫茶娣卞堡嬈$殑綞佸畾鏅傦箰瑕佹敞鎰忥箰鍦ㄨ畩閲忕殑get鏂規硶涓茶鍒濆鍖栥傚湪servlet2.4瀹瑰櫒涓彲浠ヤ笉鐢╟:out妯欑堡
杓稿叆妗嗙秮瀹氾箷<input name="user.name"聽 value = "<c:out value="${loginActionVo.user.name}"/>" type="text" disabled="disabled"聽 size="14" maxlength="14" /></td>
VO鐐猴箷
聽public class loginActionVo{
聽聽聽聽private User user;
聽聽聽聽public聽User getUser(User user){
聽聽聽聽聽聽if( user == null){
聽聽聽聽聽聽聽聽聽user = new User();
聽聽聽聽聽聽}
聽聽聽聽聽聽return user;
聽聽聽}
聽}

聽聽聽



]]>
springMVC蹇冨緱http://www.tkk7.com/software5168/archive/2006/09/17/70138.htmlsoftware5168software5168Sun, 17 Sep 2006 06:11:00 GMThttp://www.tkk7.com/software5168/archive/2006/09/17/70138.htmlhttp://www.tkk7.com/software5168/comments/70138.htmlhttp://www.tkk7.com/software5168/archive/2006/09/17/70138.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/70138.htmlhttp://www.tkk7.com/software5168/services/trackbacks/70138.html浠impleFormController鐐轟緥
1銆俿pring 鎺ユ敹涓鍊嬭珛姹傚緦棣栧厛鏈冨垽鏂?get"閭勬槸"post"鏂規硶

2銆? "get"鏂規硶鏅?br />聽聽聽聽聽聽聽聽聽2銆?銆? 棣栧厛鍓靛緩涓鍊媍ommand灝嶈薄錒愰氶亷瑾跨敤AbstractFormController鐨刦ormBackingObject鏂規硶寰楀埌錒愰氬父鏄竴鍊媝ojo錒愭牴鎿歯ame鐢ㄤ締鍜屾彁浜ょ殑鏁告摎綞佸畾銆?br />聽聽聽聽聽聽聽聽聽 2銆?銆? 鐒跺緦鏈冨壍寤轟竴鍊婤indException灝嶈薄錒愯!闈㈠寘鎷琧ommand灝嶈薄錒愬拰鍏朵粬涓浜涘爆鎬с?br />聽聽聽聽聽聽聽聽聽聽聽2銆?銆? 鍒ゆ柗sessionForm 灞э箰榛樿獚鐐篺alse銆傚鏋滅偤true錒愬氨鏈冩妸command灝嶈薄灝嶈薄淇濆瓨鍦╯ession瑁÷犅犅犅?闈€俿ession涓璳ey鐐洪鍚?".FORM." + command灝嶈薄鍚嶃傚彲浠ラ氶亷request.getSession().getAttribute(this.getFormSessionAttributeName(request));寰楀埌command灝嶈薄銆?br />聽聽聽聽聽聽
聽聽聽2銆?銆? 瑾跨敤AbstractFormController鐨剅eferenceData鏂規硶銆傞欏嬫柟娉曢粯瑾嶇偤絀猴箰鍙互寰╁渚嗗垵濮嬪寲闋侀潰鍙冩暩銆?br />
2銆?銆? 榪斿洖ModelAndView灝嶈薄錒愯繑鍥瀎ormview闋侀潰銆?/p>

2 銆? 鈥減ost鈥濇柟娉曟檪
聽聽聽2銆?銆? 棣栧厛寰楀埌command灝嶈薄,濡傛灉SessionForm = false錒愯鐢╢ormBackingObjectde鍓靛緩
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽濡傛灉SessionForm = true,寰瀝equest.getSession涓緱鍒板師command灝嶈薄錒愮劧寰屽皣command灝嶈薄寰?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Session涓埅闄ゃ?br />聽 2銆?銆?聽 鐒跺緦鏈冨壍寤轟竴鍊婼ervletRequestDataBinder灝嶈薄錒愯!闈㈠寘鎷琧ommand灝嶈薄錒愬拰鍏朵粬涓浜涘爆鎬с?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽閫欏嬮亷紼嬪皣瑾跨敤initBinder()錒斿彲浠ヨ瀵欏嬫柟娉曞垵濮嬪寲鏁告摎銆?br />聽2銆?銆? 瑾跨敤processFormSubmission(HttpServletRequest request, HttpServletResponse response, Object command,聽 BindException errors)銆傛湁閷鏅傝繑鍥瀎ormview闋侀潰錒愬惁鍓囬插叆successview闋侀潰銆傞欏嬮亷紼嬪皣瑾跨敤onSubmit(Object command)錒愬繀闋堣瀵欏嬫柟娉曟斁鍏ユキ鍕欓倧杓?br />聽
聽聽聽






]]>
springMVC絎洓鍊嬩緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/09/06/68084.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 06 Sep 2006 10:03:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/09/06/68084.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/68084.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/09/06/68084.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/68084.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/68084.html</trackback:ping><description><![CDATA[ <p>1./WEB-INF/web.xml<br /><?xml version="1.0" encoding="UTF-8"?><br /><web-app version="2.4" <br />聽xmlns="<a <br />聽xmlns:xsi="<a <br />聽xsi:schemaLocation="<a >http://java.sun.com/xml/ns/j2ee</a><br />聽<a ><br /><!--<br /><!DOCTYPE web-app<br />聽聽聽 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"<br />聽聽聽 "<a ><br /><web-app><br />--><br />聽<br />聽<!--<br />聽<context-param><br />聽聽聽 聽<param-name>contextConfigLocation</param-name><br />聽聽聽 聽<param-value>/WEB-INF/application-servlet.xml</param-value><br />聽 聽</context-param><br />聽<listener><br />聽聽聽聽 <listener-class><br />聽聽聽聽聽聽 org.springframework.web.context.ContextLoaderListener<br />聽聽聽聽 </listener-class><br />聽 聽</listener><br />聽 聽--><br />聽<servlet> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>聽聽<br />聽聽<init-param> <br />聽聽聽聽聽聽聽聽聽 <param-name>contextConfigLocation</param-name> <br />聽聽聽聽聽聽聽聽聽 <param-value>/WEB-INF/application-servlet.xml</param-value> <br />聽聽聽聽 聽</init-param><br />聽聽<load-on-startup>1</load-on-startup><br />聽聽聽 </servlet> <br />聽<br />聽聽聽 <servlet-mapping> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <url-pattern>*.do</url-pattern> <br />聽聽聽 </servlet-mapping> <br />聽<br /><!--<br />聽<taglib> <br />聽聽聽聽 聽<taglib-uri>/spring</taglib-uri> <br />聽聽聽聽 聽<taglib-location>/WEB-INF/spring.tld</taglib-location> <br />聽</taglib><br />-->聽<br /></web-app><br /><br />2./WEB-INF/application-servlet.xml<br /><?xml version="1.0" encoding="UTF-8"?> <br /><!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "<a > <br /><beans> <br />聽聽聽 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <br />聽聽聽聽聽聽聽 <property name="mappings"> <br />聽聽聽聽聽聽聽聽聽聽聽 <props> <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <prop key="/login.do">loginAction</prop> <br />聽聽聽聽聽聽聽聽聽聽聽 </props> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <br />聽聽聽聽聽聽聽 <property name="viewClass"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>org.springframework.web.servlet.view.JstlView</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="prefix"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>/</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="suffix"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>.jsp</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="loginAction" class="onlyfun.caterpillar.LoginAction"> <br />聽聽聽聽聽聽聽 <property name="commandName"><br />聽聽聽聽聽聽聽 聽<value>command</value><br />聽聽</property><br />聽聽<property name="commandClass"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>onlyfun.caterpillar.LoginForm</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="successView"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>success</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="formView"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>form</value> <br />聽聽聽聽聽聽聽 </property><br />聽聽聽聽聽聽聽<property name="user">聽聽聽聽聽聽聽聽聽聽<br />聽聽聽聽聽聽聽聽聽聽聽聽<ref local="user" /><br />聽聽聽聽聽聽聽 </property><br />聽聽聽 </bean>聽<br />聽聽聽<br />聽聽聽<bean id="user" class="onlyfun.caterpillar.User"><br />聽聽聽聽聽<property name="username"><br />聽聽聽聽聽聽聽 聽<value>111</value><br />聽聽聽聽聽</property><br />聽聽聽聽聽<property name="password"><br />聽聽聽聽聽聽聽 聽<value>111</value><br />聽聽聽聽聽</property><br />聽聽聽聽</bean><br /></beans></p> <p> <br /> <br />3./form.jsp<br /><<a href="mailto:%@taglib">%@taglib</a> prefix="spring" uri="<a %</a>> <br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><html> <br /><head><title>Login</title></head> <br /><body><br />聽<spring:bind path="command.*"> <br />聽聽聽聽聽聽聽 <font color="red"><b>${status.errorMessage}</b></font><br> <br />聽聽聽 </spring:bind> <br />聽聽 聽 聽聽璜嬭幾鍏ヤ嬌鐢ㄨ呭悕紼辮垏瀵嗙⒓錛?lt;p>聽聽 聽 <br />聽聽聽 <form name="loginform" action="login.do" method="post"> <br />聽聽聽聽 <spring:bind path="command.username">聽聽 <br />聽聽聽聽聽聽聽聽 聽鍚嶇ū <input type="text" name="${status.expression}" value="${status.value}"/><br />聽聽聽聽聽聽聽聽 聽<font color="red">${status.errorMessage}</font><br><br />聽聽聽聽 </spring:bind><br />聽聽聽聽 <spring:bind path="command.password">聽 <br />聽聽聽聽聽聽聽聽 聽瀵嗙⒓ <input type="password" name="${status.expression}" value="${status.value}"/><br />聽聽聽聽聽聽聽聽 聽<font color="red">${status.errorMessage}</font><br><br />聽聽聽聽 </spring:bind> <br />聽聽聽聽聽聽聽 <input type="submit" value="紕哄畾"/> <br />聽聽聽 </form> <br />聽 聽聽聽 娉ㄦ剰錛氳幾鍏ラ尟瑾ゆ渻鍐嶅洖鍒伴欏嬮爜闈腑銆?聽<br /></body> <br /></html><br /><br />4./index.jsp<br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br />聽 <head><br />聽 </head> <br />聽 <body>聽聽 <br />聽聽聽 begin......<br />聽聽聽 <%<br />聽聽聽聽 response.sendRedirect("login.do");<br />聽聽聽 %><br />聽 </body><br /></html><br /><br />5./success.jsp<br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><<a href="mailto:%@taglib">%@taglib</a> prefix="c" uri="<a %</a>><br /><html> <br /><head><title>Login Success</title></head> <br /><body> <br />聽聽聽 <H1><c:out value="鐢ㄦ埗鍚嶏箷${user}"/></H1> <br /></body> <br /></html><br /><br />6./WEB-INF/classes/onlyfun/caterpillar/LoginAction.class<br />package onlyfun.caterpillar; </p> <p>import org.springframework.validation.BindException;<br />import org.springframework.web.servlet.mvc.SimpleFormController; <br />import org.springframework.web.servlet.*; </p> <p>public class LoginAction extends SimpleFormController {聽<br />聽聽聽聽private User user;<br />聽聽聽 protected ModelAndView onSubmit(Object command,BindException errors) throws Exception { <br />聽聽聽聽聽聽 LoginForm form = (LoginForm) command;聽<br />聽聽聽聽聽聽聽String username = user.getUsername();<br />聽聽聽聽聽聽 String password = user.getPassword();<br />聽聽聽聽聽聽 if(username.equals(form.getUsername()) && <br />聽聽聽 聽聽聽聽 password.equals(form.getPassword())) { <br />聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getSuccessView(),"user", form.getUsername());<br />聽聽聽聽聽聽 }<br />聽聽聽聽聽聽 else { <br />聽聽聽 聽聽聽 errors.reject("loginfail", "浣跨敤鑰呭悕紼辨垨瀵嗙⒓閷"); <br />聽聽聽 聽聽聽 if(!(username.equals(form.getUsername()))){<br />聽聽聽 聽聽聽聽 errors.rejectValue("username", "error", null, "浣跨敤鑰呭悕紼遍尟瑾?);<br />聽聽聽 聽聽聽 }<br />聽聽聽 聽聽聽if(!(password.equals(form.getPassword()))){<br />聽聽聽 聽聽聽聽 errors.rejectValue("password", "error", null, "瀵嗙⒓閷"); <br />聽聽聽 聽聽聽 }聽聽 聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getFormView(),errors.getModel()); <br />聽聽聽聽聽聽 } <br />聽聽聽 }<br />聽聽聽聽public User getUser() {<br />聽聽聽聽聽return user;<br />聽聽聽聽}<br />聽聽聽聽public void setUser(User user) {<br />聽聽聽聽聽this.user = user;<br />聽聽聽聽} <br />}</p> <p> <br /> <br />7./WEB-INF/classes/onlyfun/caterpillar/LoginForm.class<br />package onlyfun.caterpillar; </p> <p>public class LoginForm { <br />聽聽聽 private String username; <br />聽聽聽 private String password; <br />聽聽聽 <br />聽聽聽 public void setUsername(String username) { <br />聽聽聽聽聽聽 this.username = username; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public void setPassword(String password) { <br />聽聽聽聽聽聽 this.password = password; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getUsername() { <br />聽聽聽聽聽聽 return username; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getPassword() { <br />聽聽聽聽聽聽 return password; <br />聽聽聽 } <br />}<br /><br />8./WEB-INF/tags/spring.tld<br /><br />9./WEB-INF/tags/c.tld<br /><br />10./WEB-INF/classes/onlyfun/caterpillar/User.class<br />package onlyfun.caterpillar;</p> <p>public class User {<br />聽private String username;<br />聽private String password;<br />聽public String getPassword() {<br />聽聽return password;<br />聽}<br />聽public void setPassword(String password) {<br />聽聽this.password = password;<br />聽}<br />聽public String getUsername() {<br />聽聽return username;<br />聽}<br />聽public void setUsername(String username) {<br />聽聽this.username = username;<br />聽}<br />}</p> <img src ="http://www.tkk7.com/software5168/aggbug/68084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-09-06 18:03 <a href="http://www.tkk7.com/software5168/archive/2006/09/06/68084.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ServletConfig涓嶴ervletContext鐨勫尯鍒?/title><link>http://www.tkk7.com/software5168/archive/2006/09/05/67752.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Tue, 05 Sep 2006 02:26:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/09/05/67752.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/67752.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/09/05/67752.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/67752.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/67752.html</trackback:ping><description><![CDATA[聽HttpServletRequest,HttpServletResponse:榪欎袱涓睘鎬х殑浣滅敤鑼冨洿鏈灝忋?br />聽聽聽聽鏃墮棿涓婏細鍙槸鏈韓璇鋒眰鍜屽簲絳斿畬鎴愬氨澶辨晥錛屽綋鐒惰漿鍙戞槸鎶婂綋鍓嶇殑request瀵硅薄鍙栧嚭鏉ヤ紶緇欏彟涓<br />聽聽聽聽聽聽聽聽聽聽涓祫婧愶紝鍏跺疄鏈韓鐨剅equest瀵硅薄榪樻槸鍙敓瀛樺埌鏈璇鋒眰緇撴潫錛宺esponse涔熷悓鏍楓?br />聽聽聽聽絀洪棿涓婏細鍙兘鍙戦佽姹傜殑瀹㈡埛绔湁鏁堛?br /><br />聽聽聽聽HttpSession:涓嬈¤繛緇撳埌瀹㈡埛绔叧闂紝鏃墮棿浣滅敤鑼冨洿姣斾笂闈袱涓ぇ錛岀┖闂翠換鐢ㄨ寖鍥寸浉鍚屻?br /><br />聽聽聽聽ServletConfig:浠庝竴涓猻ervlet琚疄渚嬪寲鍚庯紝瀵逛換浣曞鎴風鍦ㄤ換浣曟椂鍊欒闂湁鏁堬紝浣嗕粎瀵規湰servlet<br />聽聽聽聽鏈夋晥錛屼竴涓猻ervlet鐨凷ervletConfig瀵硅薄涓嶈兘琚彟涓涓猻ervlet璁塊棶銆?br /><br />聽聽聽聽ServletContext:瀵逛換浣晄ervlet錛屼換浣曚漢鍦ㄤ換浣曟椂闂撮兘鏈夋晥錛岃繖鎵嶆槸鐪熸鍏ㄥ眬鐨勫璞°?br /><br />聽聽聽聽閭d箞錛孲ervletConfig鍙傛暟鍜孲ervletContext鍙傛暟鍒板簳搴旇濡備綍浣跨敤錛屽浣曞彇寰楋紵<br /><br />聽聽聽聽涓鑸潵璇達紝瀵規暣涓簲鐢ㄧ殑閰嶇疆錛屼負浜嗕笉浣跨敤鈥滅‖緙栫爜鈥濓紝搴旇閰嶇疆涓篠ervletContext鍙傛暟錛屾瘮濡傚瓧<br />聽聽聽聽絎﹂泦璁懼畾銆?br />聽聽聽聽<web-app><br />聽聽聽聽聽聽聽聽.................<br />聽聽聽聽聽聽聽聽<init-param><br />聽聽聽聽聽聽聽聽聽聽聽聽<param-name>charset</param-name>聽<br />聽聽聽聽聽聽聽聽聽聽聽聽<param-value>GB2312</param-value>聽<br />聽聽聽聽聽聽聽聽</init-param><br />聽聽聽聽聽聽聽聽.................<br />聽聽聽聽</web-app><br />聽聽聽聽娉ㄦ剰浠ヤ笂鏍煎紡鍙槸2銆?浠ュ悗鐨勬爣鍑嗘牸寮忥紝鏃у鍣紙寮曟搸錛夐噰鐢ㄦ湇鍔″晢鑷繁鐨勬牸寮忛厤緗傛敞鎰忓畠鐨?br />聽聽聽聽鐖跺厓绱犲簲璇ユ槸<web-app>涔熷氨鏄瀹冩槸瀵逛竴涓簲鐢ㄤ綔鐢ㄧ殑銆?br /><br />聽聽聽聽鑰屽鏋滃彧鏈変竴涓壒瀹氱殑servlet瑕佽瀹氱殑鍙傛暟錛屽叾瀹僺ervlet涓嶈兘鍏變韓錛屽簲璇ラ厤緗負ServletConfig<br />聽聽聽聽鍙傛暟錛屽涓涓鍙栭檮浠剁殑servlet瑕佺敤鍒扮粷瀵圭洰褰曪紝鑰屽埆鐨剆ervlet涓嶄細鐢ㄥ埌錛?br />聽聽聽聽<servlet><br />聽聽聽聽聽聽聽聽聽聽聽聽<servlet-name>GetAtt</servlet-name><br />聽聽聽聽聽聽聽聽<servlet-class>mail.GetAttServlet</servlet-class><br />聽聽聽聽聽聽聽聽<init-param><br />聽聽聽聽聽聽聽聽聽聽聽聽<param-name>absPath</param-name>聽<br />聽聽聽聽聽聽聽聽聽聽聽聽<param-value>/usr/mail/ax/axman/Maildir/</param-value>聽<br />聽聽聽聽聽聽聽聽</init-param><br />聽聽聽聽</servlet><br />聽聽聽聽涓嶇敤璇達紝鍥犱負鍦?lt;servlet>鏍囩涓凡緇忔寚瀹氫簡name鍜宑lass,涔熷氨鏄鍙湁mail.GetAttServlet榪欎釜<br />聽聽聽聽servlet涓墠鑳藉彇鍒皃ath,鑰屽埆鐨凷ervlet鏄笉鑳藉彇鍒扮殑銆?br /><br />聽聽聽聽閭d箞濡備綍璁塊棶榪欎袱涓璞$殑鍙傛暟鍛紵<br />聽聽聽聽璁塊棶ServletConfig鍙傛暟錛?br />聽聽聽聽聽聽聽聽棣栧厛瑕佸彇寰桽ervletConfig瀵硅薄錛岀劧鍚庤皟鐢ㄥ畠鐨刧etInitParameter();鏂規硶銆傝璁塊棶<br />聽聽聽聽ServletConfig瀵硅薄錛宩sp涓洿鎺ヤ嬌鐢╟onfig鍐呯疆瀵硅薄錛屼絾鍥犱負浣犵殑JSP緙栬瘧鍚庣殑servlet涓鑸笉浼氳<br />聽聽聽聽鍔犲埌web.xml涓殑錛屾墍浠ヤ竴鑸笉浼氶氳繃jsp鏉ュ彇瀵規湰JSP緙栬瘧鍚庣殑servlet鐨勯厤緗弬鏁幫紝閭d箞鍦╯ervlet<br />聽聽聽聽涓寰楀埌ServletConfig瀵硅薄鏈変袱縐嶆柟娉曪細<br /><br />聽聽聽聽鍦╥nii()鏂規硶涓彇鍒幫細閫氳繃init鐨勯噸杞芥柟娉曚紶閫?br /><br />聽聽聽聽.....<br />聽聽聽聽public聽class聽Test聽extends聽HttpServlet聽<br />聽聽聽聽{<br />聽聽聽聽聽聽聽聽ServletConfig聽config;<br />聽聽聽聽聽聽聽聽public聽void聽init(ServletConfig聽config)聽throws聽ServletException聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽this.config聽=聽config;<br />聽聽聽聽聽聽聽聽}<br />聽聽聽聽聽聽聽聽..................<br />聽聽聽聽}<br />聽聽聽聽鐒跺悗鍦ㄤ笅闈㈢殑鏂規硶涓氨鍙互璁塊棶config瀵硅薄銆備絾瑕佹敞鎰忥紝涓轟簡紜繚鑳戒粠鏋勯犳柟娉曚腑鍒板埌褰撳墠servlet鐨?br />聽聽聽聽config瀵硅薄錛屽簲璇ヨ皟鐢ㄧ埗綾葷殑鏋勯犳柟娉曪細<br />聽聽聽聽.....<br />聽聽聽聽public聽class聽Test聽extends聽HttpServlet聽<br />聽聽聽聽{<br />聽聽聽聽聽聽聽聽ServletConfig聽config;<br />聽聽聽聽聽聽聽聽public聽void聽init(ServletConfig聽config)聽throws聽ServletException聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽super.init(config);<br />聽聽聽聽聽聽聽聽聽聽聽聽this.config聽=聽config;<br />聽聽聽聽聽聽聽聽}<br />聽聽聽聽聽聽聽聽..................<br />聽聽聽聽}<br /><br />聽聽聽聽閫氳繃getServletConfig()鏂規硶鐩存帴鍒版椂錛岃繖鏍峰仛鐨勫ソ澶勬槸涓嶅繀璋冩墜宸ヤ紶閫掑睘鎬э紝鎯沖湪浠諱綍鏃跺欓兘鍙?br />聽聽聽聽浠ュ緱鍒般?br /><br />聽聽聽聽榪樻湁絎笁縐嶆柟娉曪紝瑕佽嚜宸卞疄鐜頒竴浜涙帴鍙o紝榪欓噷浣滀負涓鑸璁哄氨涓嶄粙緇嶄簡銆?br /><br />聽聽聽聽瑕佽闂甋ervletContext瀵硅薄錛屽彧瑕佷粠鐜版湁鐨凷ervletConfig瀵硅薄getServletContext錛堬級灝卞彲浠ヤ簡錛岀劧鍚?br />聽聽聽聽璋冪敤瀹冪殑getInitParameter()鏂規硶灝卞彲浠ヨ幏鍙栧畠鐨勫弬鏁般?br /><br />聽聽聽聽鎸夎錛歋ervletContext瀵硅薄鐨勪綔鐢ㄥ煙姣擲ervletConfig浣滅敤鍩熷ぇ錛屼負浠涔堣浠嶴ervletConfig涓埌寰?br />聽聽聽聽ServletContext瀵硅薄鍛紵鎴戜釜浜鴻涓猴細瀹瑰櫒淇濆瓨浜嗗緢澶氫釜ServletContext瀵硅薄錛岃姹傛椂瀹瑰櫒鍒板簳鍙栧摢涓涓?br />聽聽聽聽緇欎綘鍛紵閭e氨鍙栧叾涓寘鍚玈ervletConfig淇℃伅鐨勯偅涓粰浣狅紝灝辨槸璇村彇ServletConfig瀵硅薄鐨勭埗綰у璞°傚氨濂?br />聽聽聽聽璞ttpSession瑕佷粠requset涓彇寰椾竴鏍鳳紝灝辨槸鍙栭偅涓寘鍚綋鍓峳equese瀵硅薄鐨剆ession瀵硅薄緇欎綘錛岃繖鍙槸鎴?br />聽聽聽聽鐨勪釜浜烘兂娉曪紝榪樻病鏈夋潵寰楀強鐪嬪叿浣撳疄鐜般傚弽姝e氨榪欎箞鐢ㄥ惂銆?<img src ="http://www.tkk7.com/software5168/aggbug/67752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-09-05 10:26 <a href="http://www.tkk7.com/software5168/archive/2006/09/05/67752.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>spring + jsfhttp://www.tkk7.com/software5168/archive/2006/08/25/65776.htmlsoftware5168software5168Fri, 25 Aug 2006 06:06:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/25/65776.htmlhttp://www.tkk7.com/software5168/comments/65776.htmlhttp://www.tkk7.com/software5168/archive/2006/08/25/65776.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/65776.htmlhttp://www.tkk7.com/software5168/services/trackbacks/65776.htmlJSF鍜孲pring闆嗘垚鐨勮祫鏂欐瘮杈冨皯,鍘熺悊鏄幏寰楀郊姝ょ殑涓婁笅鏂囧紩鐢?浠ユ榪涗竴姝ヨ幏寰楀悇鑷鐞嗙殑bean,榪欐槸鍙兘鐨?鍥犱負涓よ呮槸web搴旂敤妗嗘灦閮介伒寰猻ervlet瑙勮寖,涓轟簩鑰呮暣鍚堟彁渚涗簡鍙兘鍜屽熀紜.
鍦⊿pring涓瑼pplicationContext鏄浉褰撻噸瑕佺殑綾?瀵逛簬web搴旂敤,瀹冭繕鍖呰浜唈avax.servlet.ServletContext,涓簑eb搴旂敤鎻愪緵浜嗘墍鏈夊彲浠ュ埄鐢ㄧ殑鏁版嵁,鍖呮嫭鍙鐞哹ean,Faces涓氳繃FacesContext綾誨彲浠ヨ幏寰楁墍鏈夊彲浠ュ埄鐢ㄧ殑璧勬簮,鍚屾牱鍖呮嫭JSF鐨勫彲綆$悊鏀寔bean,瀹冧滑閮藉洿緇曠潃ServletContext鎻愪緵浜嗚嚜宸辯殑闂ㄩ潰,閫氳繃鍚勮嚜鐨勯棬闈㈠湪Servlet瀹瑰櫒鐨勪笘鐣岄噷褰兼鐩擱?
鏈枃浠嬬粛涓ょ鏂瑰紡,瀹炵幇浜岃呴泦鎴?
1.聽聽聽聽聽聽聽聽 閫氳繃鍐欒嚜宸辯殑綾繪潵瀹屾垚浜岃呯殑榪為?瀹為檯涓婂彧鏄幏寰楀郊姝や笘鐣岄噷瀛樻椿鐨刡ean,瀵逛簬JSF涓簨浠跺鐞嗗彲鑳介渶瑕佹洿榪涗竴姝ョ殑鏋勬濆拰緙栫爜,涓轟簡榪欑偣,絎簩涓柟娉曚粙緇嶄簡涓縐嶆鏋?
2.聽聽聽聽聽聽聽聽 浣跨敤妗嗘灦瀹屾垚浜岃呴泦鎴?
涓 聽鑷繁鍔ㄦ墜,涓嬮潰鐨勪唬鐮佷互紺轟緥涓轟富,鍏跺畠娑夊強鐨勭被鍜屾帴鍙g暐鍘?
榪欎釜宸ュ叿綾繪彁渚涘湪JSF涓栫晫閲屾煡鎵維pring綆$悊鐨刡ean.涔熷疄鐜板湪Spring涓煡鎵綣SF緇勪歡鐨勬柟娉?
package com.skysoft.rbac.dao;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.faces.el.ValueBinding;
import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
public final class SpringFacesUtil {
聽 public SpringFacesUtil() {
聽 }
聽 /**
聽聽 * 浠嶴pring涓煡鎵綽ean.
聽聽 * @param beanname String
聽聽 * @return Object
聽聽 */
聽 public static Object findBean(String beanname) {
聽聽聽 ServletContext context = (ServletContext) FacesContext.getCurrentInstance().
聽聽聽聽聽聽聽 getExternalContext().getContext();
聽聽聽 ApplicationContext appctx = WebApplicationContextUtils.
聽聽聽聽聽聽聽 getRequiredWebApplicationContext(context);
聽聽聽 return appctx.getBean(beanname);
聽 }
聽 /**
聽聽 * 浠嶫SF涓煡鎵綽ean.
聽聽 * @param beanname String
聽聽 * @return Object
聽聽 */
聽 public static Object lookupBean(String beanname) {
聽聽聽 Object obj = getValueBinding(getJsfEl(beanname)).getValue(FacesContext.
聽聽聽聽聽聽聽 getCurrentInstance());
聽聽聽 return obj;
聽 }
聽 private static ValueBinding getValueBinding(String el) {
聽聽聽 return getApplication().createValueBinding(el);
聽 }
聽 private static Application getApplication() {
聽聽聽 ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder.
聽聽聽聽聽聽聽 getFactory(FactoryFinder.APPLICATION_FACTORY);
聽聽聽 //FactoryFinder.FACES_CONTEXT_FACTORY
聽聽聽 //FactoryFinder.RENDER_KIT_FACTORY
聽聽聽 return appFactory.getApplication();
聽 }
聽 private static String getJsfEl(String value) {
聽聽聽 return "#{" + value + "}";
聽 }
}
涓嬮潰瀹氫箟涓涓敱JSF綆$悊鐨刡ean:
package com.skysoft.rbac.dao;
import javax.servlet.ServletContext;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.skysoft.struts.jsf.util.FacesUtils;
public class ServiceLocatorBean
聽聽聽 implements ServiceLocator {
聽 private static final String DAO_SERVICE_BEAN_NAME = "userDAO";
聽 //榪欎釜dao灝辨槸鐢盨pring鎻愪緵鐨勭鐞哹ean,榪欎釜dao鍙互浣跨敤Hibernate瀹炵幇.
聽 private UserDAO dao;
聽 public ServiceLocatorBean() {
聽聽聽 this.dao = (UserDAO)SpringFacesUtil.findBean(DAO_SERVICE_BEAN_NAME);
聽 }
聽 public UserDAO getDao() {
聽聽聽 return dao;
聽 }
}
涓嬮潰鏄竴涓嬌鐢⊿erviceLocatorBean鐨勭被.
public class UserDAOImp
聽聽聽 extends HibernateDaoSupport implements UserDAO {
聽 private UserDAO dao;
聽 private List list;
聽 public UserDAOImp() {}
聽 public List getList() {
聽聽聽 if (list == null) {
聽聽聽聽聽 list = dao.getList();
聽聽聽 }
聽聽聽 return list;
聽 }
聽 public UserDAO getDao() {
聽聽聽 return dao;
聽 }
聽 public void setDao(UserDAO dao) {
聽聽聽 this.dao = dao;
聽 }
}
鍦╢aces-config.xml涓殑閰嶇疆:
聽聽聽聽聽聽 <managed-bean>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-name>serviceLocatorBean</managed-bean-name>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-class>com.skysoft.rbac.dao.ServiceLocatorBean</managed-bean-class>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-scope>session</managed-bean-scope>
聽聽聽聽聽聽 </managed-bean>
聽聽聽聽聽聽 <managed-bean>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-name>User</managed-bean-name>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-class>com.skysoft.rbac.User</managed-bean-class>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-scope>request</managed-bean-scope>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-property>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property-name>serviceLocator</property-name>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property-class>com.skysoft.rbac.dao.ServiceLocatorBean</property-class>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <value>#{serviceLocatorBean}</value>
聽聽聽聽聽聽聽聽聽聽聽聽聽 </managed-property>
聽聽聽聽聽聽 </managed-bean>
鍦╝pplicationContext.xml涓殑閰嶇疆:
聽聽聽聽聽聽 <bean id="userDAO" class="com.skysoft.rbac.dao.UserDAOImp">
聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="sessionFactory">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <ref local="sessionFactory" />
聽聽聽聽聽聽聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽 </bean>
浜?浣跨敤妗嗘灦
1 浠嬬粛
榪欎釜妗嗘灦鏄疭pring鐩稿叧欏圭洰,鎻愪緵涓涓寘de.mindmatters.faces.spring,榪欎釜鍖呭寘鍚獼SF鍜孲pring妗嗘灦緇煎悎闆嗘垚鐨勭矘鍚堜唬鐮?榪欎簺浠g爜浠ョ嫭绔嬩簬涓涓疄鐜扮殑鏂瑰紡瀹屾垚,榪欐牱瀹冭兘鍜屼換浣旿SF瀹炵幇涓璧蜂嬌鐢?
鏈寘鐨勬彁渚涚殑浠g爜涓昏鐩殑鏄敖鍙兘閫忔槑鐨勯泦鎴愪袱涓鏋?涓昏鐗瑰緛:
l聽聽聽聽聽聽聽聽 JSF/JSP寮鍙戣呭簲璇ヨ兘璁塊棶Spring綆$悊鐨凚eans,灝卞ソ璞″畠浠槸鐢盝SF綆$悊鐨?
l聽聽聽聽聽聽聽聽 JSF鍙鐞哹eans搴旇兘闆嗘垚鍏pring.
l聽聽聽聽聽聽聽聽 RequestHandledEvent浜嬩歡涔熷簲璇ヨ兘琚彂甯冨埌Spring.
2聽 JSF閰嶇疆闆嗘垚
鏈寘鏋勯犱簡涓涓熀浜巉aces閰嶇疆鏂囦歡(e.g. /WEB-INF/faces-config.xml)鐨刉ebApplicationContext綾? 璁╁畠鎴愪負閬靛驚"spring-beans" DTD閰嶇疆鏂囦歡(e.g. defined in /WEB-INF/applicationContext.xml)鏉ラ厤緗殑ApplicationContext鐨勫瀛?榪欐牱渚濅粠"faces-config" DTD鐨刉ebApplicationContext灝辨槸鍏ㄧ壒寰佺殑,鍗寵嚜鍔ㄦ嫢鏈夊涓嬪姛鑳?
l聽聽聽聽聽聽聽聽 JSF鍙鐞哹eans瀹炵幇浜哠pring鐨?Aware interfaces:
ApplicationContextAware
BeanFactoryAware
BeanNameAware
ResourceLoaderAware
ServletContextAware
l聽聽聽聽聽聽聽聽 JSF鍙鐞哹eans瀹炵幇Spring鐨刲ifecycle interfaces:
InitializingBean
DisposableBean
l聽聽聽聽聽聽聽聽 瀹炵幇Spring鐨凢actoryBean interface
l聽聽聽聽聽聽聽聽 瀹炵幇Spring鐨凙pplicationListener interface
l聽聽聽聽聽聽聽聽 鍙戝竷ApplicationEvent浜嬩歡.
l聽聽聽聽聽聽聽聽 浠庤祫婧愪腑璇誨彇娑堟伅.
絳夌瓑,鏇村鍙湅Spring.
3 璁塊棶鏂瑰紡
1) 浠嶫SF涓▼搴忓寲鐨勮闂甋pring綆$悊鐨刡eans.
鍥犱負鍦‵acesWebApplicationContext鍜孉pplicationContext涔嬮棿鏈夊眰嬈″叧緋?鎵浠ヤ綘鐨凧SF鍙鐞嗘敮鎸乥eans鑳藉鏄撶殑瀹炵幇ApplicationContextAware鎺ュ彛,騫惰兘閫氳繃getBean鏂規硶璁塊棶瀹冭屼笉綆″畠鏄惁瀹氫箟鍦‵acesWebApplicationContext涓繕鏄畾涔夊湪鐖禔pplicationContext綾誨璞′腑.
2) 閫氳繃JSF EL浠嶫SF涓闂甋pring綆$悊鐨刡eans.
鑳藉浣跨敤JSF EL璁塊棶beans鏃犺浣犲紩鐢ㄧ殑bean鐢盝SF綆$悊榪樻槸鐢盨pring綆$悊.涓や釜bean涓婁笅鏂囧湪瀛樺彇鏃墮棿鍚堝茍.
a) 鐩存帴璁塊棶:
濡傛灉涓涓甫鏈夎姹傚悕瀛楃殑bean鍙瓨鍦ㄤ簬Spring涓婁笅鏂囧唴鐨勮瘽,榪欎釜bean琚嬌鐢?bean鐨剆ingleton灞炴ц緗瀹屽叏淇濇寔.
b) 鍖哄煙鍖栬闂?scoped access):
濡傛灉浣犺浠嶫SF瀹氫箟bean鐨勪綔鐢ㄥ煙鐨勮兘鍔涗笂寰楃泭榪樻兂璁╅偅涓猙ean鐢盨pring綆$悊,閭d箞灝辮鍦ㄤ袱涓笂涓嬫枃涓畾涔?鍙槸瀵逛簬JSF涓婁笅鏂囦腑鐨勫畾涔夌殑綾葷被鍨嬭浣跨敤de.mindmatters.faces.spring.SpringBeanFactory綾?浣犺繕搴旇璁劇疆閭d釜bean鐨剆ingleton灞炴у埌false,鍥犺繖鑳借鐩栦綘鐨勪綔鐢ㄥ煙璁劇疆.鍦ㄤ綘浣跨敤JSF EL璁塊棶bean鏃?浣犳昏兘鑾峰緱涓涓伒浠庝綘鍦↗SF涓婁笅鏂囦腑瀹氫箟鐨勪綔鐢ㄥ煙璁劇疆鐨勭敱Spring綆$悊鐨刡ean鐨勫疄渚?
涓?鐢ㄦ硶
閫氬父,灝辮薄璁劇疆浠諱綍鍏跺畠JSF web搴旂敤涓鏍瘋緗綘鐨剋eb搴旂敤,涓嬮潰鐨勬牱渚嬮厤緗睍紺烘庢牱浣胯兘涓婇潰鎻愬埌鐨勭壒寰併?/div>
鍦╳eb.xml 閰嶇疆涓繀欏誨姞鍏ヤ笅鍒楅厤緗潯鐩? 鍚屾椂娉ㄦ剰鎶婅搴撶殑jsf-spring.jar 鏀懼湪閫傚綋鐨勪綅緗?
<web-app>
聽聽聽 .........
聽聽聽 <!--
聽聽聽聽聽聽聽 榪囨護鍣ㄧ敤浜庡悜Spring鍙戝竷RequestHandledEvent,瀹冨簲璇ュ獎灝勫埌鍜孎acesServlet url鐩稿悓鐨勬ā寮?
聽聽聽 -->聽聽聽
聽聽聽 <filter>
聽聽聽聽聽聽聽 <filter-name>RequestHandled</filter-name>
聽聽聽聽聽聽聽 <filter-class>de.mindmatters.faces.spring.support.RequestHandledFilter</filter-class>
聽聽聽 </filter>
聽聽聽聽聽聽
聽聽聽 <filter-mapping>
聽聽聽聽聽聽聽 <filter-name>RequestHandled</filter-name>
聽聽聽聽聽聽聽 <url-pattern>*.faces</url-pattern>
聽聽聽 </filter-mapping>
聽聽聽 <!--
聽聽聽 榪欎釜渚﹀惉鍣ㄧ敤浜庤鍏pring beans鐨勭埗搴旂敤涓婁笅鏂?
聽聽聽 -->
聽聽聽 <listener>
聽聽聽聽聽聽聽 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
聽聽聽 </listener>
聽聽聽 .........
</web-app>
涓嬮潰鐨勪竴浜涜鏄?閮藉彲浠ラ氳繃涓嬭澆榪欎釜Spring鐩稿叧欏圭洰寰楀埌,鍒楀湪榪欓噷鍙負婕旂ず涓婇潰鐨勮鏄庣殑鍔熻兘.
WEB-INF/faces-config.xml
<!-- 涓涓函JSF綆$悊鐨刡ean -->
<managed-bean>
聽聽聽 <managed-bean-name>jsfBean</managed-bean-name>
聽聽聽 <managed-bean-class>example.NameBean</managed-bean-class>
聽聽聽 <managed-bean-scope>session</managed-bean-scope>
聽聽聽 <managed-property>
聽聽聽聽聽聽聽 <property-name>name</property-name>
聽聽聽 </managed-property>
</managed-bean>
<!--涓涓猄pringBeanScope鐢ㄦ潵瀹氫箟Spring鍙鐞哹ean鐨勪綔鐢ㄥ煙.-->
聽聽聽聽聽聽 <managed-bean>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-name>scopedAccessSpringBean</managed-bean-name>
聽聽聽聽聽聽 <managed-bean-class>de.mindmatters.faces.spring.SpringBeanScope</managed-bean-class>
聽聽聽聽聽聽聽聽聽聽聽聽聽 <managed-bean-scope>session</managed-bean-scope>
聽聽聽聽聽聽 </managed-bean>
<!-- 榪欐槸涓涓函JSF鍙鐞哹ean,瀹冩寔鏈変竴涓埌Spring鍙鐞哹ean鐨勪竴涓紩鐢? -->
<managed-bean>
聽聽聽 <managed-bean-name>referencingBean</managed-bean-name>
聽聽聽 <managed-bean-class>example.ReferencingBean</managed-bean-class>
聽聽聽 <managed-bean-scope>session</managed-bean-scope>
聽聽聽 <managed-property>
聽聽聽聽聽聽聽 <property-name>referencedBean</property-name>
聽聽聽聽聽聽聽 <value>#{managedPropertyAccessSpringBean}</value>
聽聽聽 </managed-property>
</managed-bean>
WEB-INF/applicationContext.xml (partial)
<!-- 涓涓函Spring鐨勫彲綆$悊bean -->
<bean id="directAccessSpringBean" class="example.NameBean"/>
<!-- 涓涓悜JSF浣滅敤鍩熸彁渚涚殑鍙鐞哹ean.聽 -->
<bean id="scopedAccessSpringBean" class="example.NameBean" singleton="false"/>
<!-- 涓涓函Spring鐨勫彲綆$悊bean,瀹冪敱涓涓狫SF鍙鐞哹ean寮曠敤.(褰撶劧浜?瀹冧篃鑳借鐩存帴璁塊棶鍟?) -->
<bean id="managedPropertyAccessSpringBean" class="example.NameBean" singleton="false"/>
鍙傝?
http://jsf-spring.sourceforge.net/聽聽 JSF-Spring,Spring鐩稿叧欏圭洰瀹樻柟绔欑偣,鎻愪緵鏈枃浠嬬粛鐨勬鏋朵笅杞戒互鍙婂疄渚嬩笅杞?
http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html聽涓綃囧叧浜嶫SF鍜孲pring鐨勬枃绔?


]]>springMVC 絎笁鍊嬩緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/24/65526.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Thu, 24 Aug 2006 07:18:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/24/65526.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/65526.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/24/65526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/65526.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/65526.html</trackback:ping><description><![CDATA[1./home.xsl<br /><?xml version="1.0"?><br /><xsl:stylesheet version="1.0" xmlns:xsl="<a ><br />聽聽聽 <xsl:output method="html" omit-xml-declaration="yes" /><br />聽聽聽 <xsl:template match="/"><br />聽聽聽聽聽聽聽 <html><br />聽聽聽聽聽聽聽聽聽聽聽 <head><title>Hello!</title></head><br />聽聽聽聽聽聽聽聽聽聽聽 <body><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <h1>My First Words</h1><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <xsl:for-each select="wordList/word"><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <xsl:value-of select="."/><br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </xsl:for-each> <br />聽聽聽聽聽聽聽聽聽聽聽 </body><br />聽聽聽聽聽聽聽 </html><br />聽聽聽 </xsl:template><br /></xsl:stylesheet><br /><br />2./index.html<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br />聽 <head>聽聽聽 <br />聽 </head><br />聽 <body><br />聽 聽<center><input type="button" value="xslt" onclick="location.href='home.htm'"></center><br />聽 </body><br /></html><br /><br />3./WEB-INF/web.xml<br /><?xml version="1.0" encoding="UTF-8"?><br /><web-app version="2.4" <br />聽xmlns="<a <br />聽xmlns:xsi="<a <br />聽xsi:schemaLocation="<a >http://java.sun.com/xml/ns/j2ee</a><br />聽<a >聽<br />聽<servlet> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><br />聽聽<init-param> <br />聽聽聽聽聽聽聽聽 <param-name>contextConfigLocation</param-name> <br />聽聽聽聽聽聽聽聽 <param-value>/WEB-INF/application-servlet.xml</param-value> <br />聽聽聽 聽</init-param>聽 <br />聽聽聽 </servlet> 聽<br />聽聽聽 <servlet-mapping> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <url-pattern>*.htm</url-pattern> <br />聽聽聽 </servlet-mapping> 聽聽<br /></web-app><br /><br />4./WEB-INF/application-servlet.xml<br /><?xml version="1.0" encoding="UTF-8"?> <br /><!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "<a > <br /><beans> <br />聽聽聽 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <br />聽聽聽聽聽聽聽 <property name="mappings"> <br />聽聽聽聽聽聽聽聽聽聽聽 <props> <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <prop key="/home.htm">homeAction</prop> <br />聽聽聽聽聽聽聽聽聽聽聽 </props> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean>聽聽 <br />聽聽聽 <bean id="bundleViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <br />聽聽聽聽聽聽聽 <property name="basename"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>views</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean>聽聽 <br />聽聽聽 <bean id="homeAction" class="xslt.HomePageController"/> <br /></beans><br /><br />5./WEB-INF/classes/views_zh_TW.properties<br />home.class=xslt.HomePage<br />home.stylesheetLocation=/home.xsl<br />home.root=wordList<br /><br />6./WEB-INF/classes/xslt/HomePage.class<br />package xslt;<br />import java.util.*;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.jdom.Element;<br />import org.jdom.output.DOMOutputter;<br />import org.springframework.web.servlet.view.xslt.AbstractXsltView;<br />import org.w3c.dom.Node;<br />public class HomePage extends AbstractXsltView {<br />聽 protected Node createDomNode( <br />聽聽聽聽聽聽聽聽聽 Map model, String rootName, HttpServletRequest req, HttpServletResponse res<br />聽聽聽聽聽 ) throws Exception {聽 聽聽<br />聽聽聽聽聽聽聽聽聽 org.jdom.Document doc = new org.jdom.Document();<br />聽聽聽聽聽聽聽聽聽 Element root = new Element(rootName);<br />聽聽聽聽聽聽聽聽聽 doc.setRootElement(root);<br />聽聽聽聽聽聽聽聽聽 List words = (List) model.get("wordList");<br />聽聽聽聽聽聽聽聽聽 for (Iterator it = words.iterator(); it.hasNext();) {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 String nextWord = (String) it.next();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 Element e = new Element("word");<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 e.setText(nextWord);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 root.addContent(e);<br />聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽 // convert JDOM doc to a W3C Node and return<br />聽聽聽聽聽聽聽聽聽 return new DOMOutputter().output( doc );<br />聽聽聽聽聽 }<br />}<br /><br /><br />7./WEB-INF/classes/xslt/HomePageController.class<br />package xslt;<br />import java.util.*;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.springframework.web.servlet.ModelAndView;<br />import org.springframework.web.servlet.mvc.AbstractController;<br />public class HomePageController extends AbstractController{<br />聽protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp) throws Exception {<br />聽聽Map map = new HashMap();<br />聽聽聽聽 List wordList = new ArrayList();聽聽聽聽聽聽聽聽 <br />聽聽聽聽 wordList.add("hello");<br />聽聽聽聽 wordList.add("world");聽聽聽聽聽聽聽 <br />聽聽聽聽 map.put("wordList", wordList);聽聽聽聽聽聽 <br />聽聽聽聽 return new ModelAndView("home", map);<br />聽}<br />}<br /><img src ="http://www.tkk7.com/software5168/aggbug/65526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-24 15:18 <a href="http://www.tkk7.com/software5168/archive/2006/08/24/65526.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JDOMhttp://www.tkk7.com/software5168/archive/2006/08/24/65491.htmlsoftware5168software5168Thu, 24 Aug 2006 04:50:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/24/65491.htmlhttp://www.tkk7.com/software5168/comments/65491.htmlhttp://www.tkk7.com/software5168/archive/2006/08/24/65491.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/65491.htmlhttp://www.tkk7.com/software5168/services/trackbacks/65491.html 1.聽聽聽聽聽聽聽聽 Abstract

鍦?/span> Java 鐨勪笘鐣岃!錛岃鎿嶆帶 XML 錛屾渶綈″柈鐨勬柟娉曡帿閬庢柤浣跨敤 JDOM 銆傚湪閫欒!鎴戠啊鍠殑浠嬬垂濡備綍鐢?/span> JDOM 寰炵劇鍒版湁鐨勫緩绔嬩竴鍒?/span> XML 銆佺暥鏈変竴浠?/span> XML file 鏅傦紝濡備綍灝囬欏?/span> XML file 璁閫茬▼寮忚!鍙婂浣曞埄鐢?/span> JDOM 灝?/span> XML 閫忛亷 XSLT 杞夋垚 HTML 銆?/span>

JDOM 鏄敱 Brett Mclaughlin 鍜?/span> Jason Hunter 綬ㄥ錛屽湪 http://www.jdom.org 鍙厤璨諱笅杓夈?/span>

2.聽聽聽聽聽聽聽聽 寤虹珛銆佹柊澧炪佸埅闄ゃ佽幾鍑?/span>

綃勪緥 1 灞曠ず濡備綍寤虹珛銆佹柊澧炪佸埅闄ゅ強杓稿嚭涓浠?/span> XML 錛屾瘡浠?/span> XML 鍦?/span> JDOM 瑁℃槸鐢變竴鍊?/span> Document 欏炲垾浠h〃錛屾墍浠ヤ竴闁嬪鎴戝戣鍏?/span> new 涓鍊?/span> Document 錛屽湪寤烘 Document 鏅傛噳鎸囨槑鏍圭瘈榛烇紝濡傛灉娌掓湁鎸囨槑錛屽湪寤烘鎳夌敱 setRootElement 璦畾銆傚熀鏈笂 XML 閮藉彲浠ュ寲鎴愪竴鍊嬫ü鐙緄愭錛屾墍浠ワ紝鍦ㄧ敘鐢熸牴綃榛炰箣寰岋紝灝辯敱鏍圭瘈榛為枊濮嬪鍔犲瓙綃榛烇紝鏂板鐨勬柟寮忔槸鍛煎彨 Element.addContent 灝囨柊鐨勭瘈榛炲姞鍏ャ傚埅闄ゅ鏋滅煡閬撴槸鏌愮瘈榛炰互涓嬬殑瀛愮瘈榛烇紝鍓囧彲鍛煎彨 Element.getChildren 鍙栧緱鎵鏈夊瓙綃榛烇紝鍐嶆壘鍑鴻鍒櫎鐨勯粸綃浜堜互鍒櫎銆?/span>

鐣跺緩绔嬪ソ XML 涔嬪緦錛岄氬父鎴戝戞渻甯屾湜灝囧畠杓稿嚭鍒版獢妗堬紝 JDOM 鎻愪緵浜?/span> XMLOutputter 欏炲垾渚涙垜鍊戣幾鍑轟箣鐢紝杓稿嚭鍓嶈鍏堣ō瀹氱法紕兼柟寮忥紝涓嶇劧錛屾渻浠?/span> UTF-8 鐐洪爯璦鹼紝 setNewlines 鍓囨槸鎸囨槑杓稿嚭鏅傛槸鍚﹁騫垜鍊戞柗琛岋紝鏂逛究闁辮畝錛屽鏋滄矑鏈夊姞閫欒鎸囦護錛岄爯璦槸涓嶆渻鏂瘋錛岄偅楹兼墍鏈夎硣鏂欏皣鍦ㄥ悓涓琛屼笂銆?/span>

===== 綃勪緥 1 =====

import org.jdom.*;

import org.jdom.output.*;

import java.io.*;

import java.util.List;

public class myCreate {

public myCreate() {

聽聽聽 String[] strChapter = { "XML 綈¤珫 ", " 綬ㄥ XML", " 鍓栨瀽 XML", " 绱勫埗 XML", " 椹楁 XML", " 杞夋彌 XML" };

聽聽聽 Element elmtRoot = new Element("Article");

聽聽聽 Document docJDOM = new Document(elmtRoot);

聽聽聽 // 鏂板

聽聽聽 for(int i=0; i<6; i++) {

聽聽聽聽聽 Element elmtChapter = new Element("Chapter");

聽聽聽聽聽 elmtChapter.addContent(strChapter[i]);

聽聽聽聽聽 elmtChapter.setAttribute("sort", new Integer(i).toString());

聽聽聽聽 elmtRoot.addContent(elmtChapter);

聽聽聽 }

聽聽聽 // 鍒櫎

聽聽聽 List lstChapter = elmtRoot.getChildren("Chapter");

聽聽聽 lstChapter.remove(4);

聽聽聽 // 杓稿嚭

聽聽聽 OutputXML(docJDOM, "e:/myJDOM.xml");

}

private void OutputXML(Document docXML, String strFilename) {

聽聽聽 XMLOutputter fmt = new XMLOutputter();

聽聽聽 try {

聽聽聽聽聽 fmt.setEncoding("big5");

聽聽聽聽聽 fmt.setNewlines(true);

聽聽聽聽聽 FileWriter fwXML = new FileWriter(strFilename);

聽聽聽聽聽 fmt.output(docXML, fwXML);

聽聽聽聽聽 fwXML.close();

聽聽聽 }

聽聽聽 catch (IOException e) {

聽聽聽聽 e.printStackTrace();

聽聽聽 }

}

public static void main(String[] args) {

聽聽聽 myCreate myCreate1 = new myCreate();

}

}

3.聽聽聽聽聽聽聽聽 璁閫蹭竴浠?/span> XML file

鐩墠 XML 鏈甯歌鎷夸締鎳夌敤鐨勯牁鍩熶箣涓澶ф灝辨槸鐣朵綔璦畾妾旓紝鍥犳錛屽浣曞緸妾旀涓畝鍏ヤ竴浠藉凡瀛樺湪鐨?/span> XML 鏇寸偤閲嶈銆?/span>

JDOM 鏄埄鐢?/span> SAX 鎴?/span> DOM 渚嗗墫鏋?/span> XML 錛岀敤 SAX 鏈冩瘮 DOM 錛屾墍浠ヤ竴鑸兘鏄敤 SAX 錛屽鏋滃皪 SAX 涓嶇啛鎮夛紝鍦?/span> http://www.saxproject.org/ 鐩擱棞鏂囦歡璩囨枡銆?/span>

綃勪緥 2 灝辨槸鐢?/span> SAX 寤虹珛 Document 錛屽湪寤虹珛 SAXBuilder 鏅傚偝鍏ョ殑鍙冩暩鎸囧嚭鏄惁鐢?/span> DTD 椹楁 XML 鐨勫悎娉曟э紝 true 琛ㄧず瑕侊紝 false 琛ㄧず涓嶈銆傜暥鍛煎彨 build 涔嬪緦 JDOM 灝卞凡綞撳公鎴戝戠敤 SAX 寤虹珛濂戒竴媯?/span> XML Tree 錛屽姝ゆ垜鍊戝氨鍙互寰堟柟渚跨敱 Tree 涓壘鍒版垜鍊戣鐨勭瘈榛炪?/span>

===== 綃勪緥 2 =====

import org.jdom.*;

import org.jdom.input.*;

import org.jdom.output.*;

import java.io.*;

import java.util.List;

public class myRead {

public myRead() {

聽聽聽 Document docJDOM;

聽聽聽 // 鍒╃敤 SAX 寤虹珛 Document

聽聽聽 SAXBuilder bSAX = new SAXBuilder(false);

聽聽聽 try {

聽聽聽聽聽 docJDOM = bSAX.build(new File("e:/myJDOM.xml"));

聽聽聽 }

聽聽聽 catch (JDOMException e) {

聽聽聽聽聽 e.printStackTrace();

聽聽聽聽聽 return;

聽聽聽 }

聽聽聽 // 鍦ㄦ牴綃榛炰腑鍔犲叆涓鍊嬫柊鐨勫瓙綃榛?/span>

聽聽聽 Element elmtRoot = docJDOM.getRootElement();

聽聽聽 Element elmtChapter = new Element("Chapter");

聽聽聽 elmtChapter.setText(" 椹楁 XML");

聽聽聽 elmtChapter.setAttribute("sort", "4");

聽聽聽 elmtRoot.addContent(elmtChapter);

聽聽聽 // 鍗板嚭鎵鏈夋牴綃榛炵殑瀛愮瘈榛?/span>

聽聽聽 List lstChildren = elmtRoot.getChildren("Chapter");

聽聽聽 for(int i=0; i<lstChildren.size(); i++) {

聽聽聽聽聽 Element elmtChild = (Element) lstChildren.get(i);

聽聽聽聽聽 System.out.println("Child " + i);

聽聽聽聽聽 System.out.println("Text:" + elmtChild.getText());

聽聽聽聽聽 System.out.println("Attribute:" + elmtChild.getAttributeValue("sort"));

聽聽聽 }

聽聽聽 // 杓稿嚭鍒版獢妗?/span>

聽聽聽 OutputXML(docJDOM, "e:/myJDOM2.xml");

}

private void OutputXML(Document docXML, String strFilename) {

聽聽聽 XMLOutputter fmt = new XMLOutputter();

聽聽聽 try {

聽聽聽聽聽 fmt.setEncoding("big5");

聽聽聽聽聽 fmt.setNewlines(true);

聽聽聽聽聽 FileWriter fwXML = new FileWriter(strFilename);

聽聽聽聽聽 fmt.output(docXML, fwXML);

聽聽聽聽聽 fwXML.close();

聽聽聽 }

聽聽聽 catch (IOException e) {

聽聽聽聽聽 e.printStackTrace();

聽聽聽 }

}

public static void main(String[] args) {

聽聽聽 myRead myRead1 = new myRead();

}

}

4.聽聽聽聽聽聽聽聽 杞夋彌 XML 鍒?/span> HTML

瑕佸皣 XML 杞夋垚 HTML 鐣剁劧瑕佸厛瀵ソ XSL 錛屼絾鏄嵆浣垮濂?/span> XSL 錛?/span> JDOM 涔熶甫涓嶆彁渚?/span> XML 杞夋彌錛屽垢濂藉湪 JDOM 瀹夎濂戒箣寰岋紝灝辨渻鏈?/span> Apache 鐨?/span> Xalan 錛屽畠鍙互騫垜鍊戝仛閫欐ǎ鐨勮綁鎻涖?/span>

瑕佷嬌鐢?/span> Apache 鐨?/span> Xalan 錛岄鍏堢⒑瀹?/span> xalan.jar 鍦?/span> classpath 瑁°?/span> Xalan 鐨勭涓鍊嬬敤娉曟槸鍦ㄥ懡浠ゅ垪鍩瘋錛屾寚浠ゅ涓嬧?/span>

C:\> java org.apache.xalan.xslt.Process 鈥揑N XML 鏂囦歡 鈥揦SL XSL 妯g増 鈥揙UT 杓稿嚭妾斿悕

鍛戒護鍒楃殑鐢ㄦ硶鍦ㄤ竴鑸殑閬嬬敤瑁℃槸寰堟柟渚匡紝浣嗘槸鎴戝戞湁鑸堣叮鐨勬槸鍦ㄧ▼寮忚!鎬庨杭鐢ㄣ傜瘎渚?/span> 4 鎻愪緵浜嗕竴鍊嬬啊鍠殑 sample 銆?/span>

===== 綃勪緥 4 =====

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerException;

import javax.xml.transform.TransformerConfigurationException;

import javax.xml.transform.stream.*;

public class myGenHTML {

public myGenHTML(String strXML, String strXSL, String strHTML) {

聽聽聽 try {

聽聽聽聽聽 GenHTML(strXML, strXSL, strHTML);

聽聽聽 }

聽聽聽 catch (TransformerConfigurationException e) {

聽聽聽聽聽 e.printStackTrace();

聽聽聽 }

聽聽聽 catch (TransformerException e) {

聽聽聽聽聽 e.printStackTrace();

聽聽聽 }

}

private void GenHTML(String strXMLFile, String strXSLFile, String strHTMLFile) throws TransformerConfigurationException, TransformerException

{

聽聽聽 TransformerFactory myFactory = TransformerFactory.newInstance();

聽聽聽 Transformer myTransformer = myFactory.newTransformer(new StreamSource(strXSLFile));

聽聽聽 myTransformer.transform(new StreamSource(strXMLFile), new StreamResult(strHTMLFile));

}

public static void main(String[] args) {

聽聽聽 myGenHTML myGenHTML1 = new myGenHTML(args[0], args[1], args[2]);

}

}



]]>
springMVC 絎簩鍊嬩緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/23/65304.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 23 Aug 2006 08:29:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/23/65304.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/65304.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/23/65304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/65304.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/65304.html</trackback:ping><description><![CDATA[ <p>1./WEB-INF/web.xml<br /><?xml version="1.0" encoding="UTF-8"?><br /><web-app version="2.4" <br />聽xmlns="<a <br />聽xmlns:xsi="<a <br />聽xsi:schemaLocation="<a >http://java.sun.com/xml/ns/j2ee</a><br />聽<a ><br />聽<br />聽<servlet> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><br />聽聽<init-param> <br />聽聽聽聽聽聽聽聽 <param-name>contextConfigLocation</param-name> <br />聽聽聽聽聽聽聽聽 <param-value>/WEB-INF/application-servlet.xml</param-value> <br />聽聽聽 聽</init-param>聽 <br />聽聽聽 </servlet> <br />聽<br />聽聽聽 <servlet-mapping> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <url-pattern>*.do</url-pattern> <br />聽聽聽 </servlet-mapping> <br />聽<br />聽<welcome-file-list><br />聽聽聽 聽<welcome-file>form.jsp</welcome-file><br />聽 聽</welcome-file-list><br /></web-app><br /><br /><br />2./WEB-INF/application-servlet.xml<br /><?xml version="1.0" encoding="UTF-8"?> <br /><!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "<a > <br /><beans> <br />聽聽聽 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <br />聽聽聽聽聽聽聽 <property name="mappings"> <br />聽聽聽聽聽聽聽聽聽聽聽 <props> <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <prop key="/login.do">loginAction</prop> <br />聽聽聽聽聽聽聽聽聽聽聽 </props> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <br />聽聽聽聽聽聽聽 <property name="viewClass"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>org.springframework.web.servlet.view.InternalResourceView</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="prefix"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>/</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="suffix"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>.jsp</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="loginAction" class="onlyfun.caterpillar.LoginAction"> <br />聽聽聽聽聽聽聽 <property name="commandClass"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>onlyfun.caterpillar.LoginForm</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="successView"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>success</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="formView"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>form</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br /></beans><br /><br /><br />3./WEB-INF/classes/onlyfun/caterpillar/LoginAction.class<br />package onlyfun.caterpillar; </p> <p>import org.springframework.web.servlet.mvc.SimpleFormController; <br />import org.springframework.web.servlet.*; </p> <p>public class LoginAction extends SimpleFormController { <br />聽聽聽 protected ModelAndView onSubmit(Object command) throws Exception { <br />聽聽聽聽聽聽 LoginForm form = (LoginForm) command; <br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽 if("111".equals(form.getUsername()) && <br />聽聽聽聽聽聽聽聽聽聽聽聽 "111".equals(form.getPassword())) { <br />聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getSuccessView(),"user", form.getUsername()); <br />聽聽聽聽聽聽 } <br />聽聽聽聽聽聽 else { <br />聽聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getFormView()); <br />聽聽聽聽聽聽 } <br />聽聽聽 } <br />}<br /><br />4./WEB-INF/classes/onlyfun/caterpillar/LoginForm.class<br />package onlyfun.caterpillar; </p> <p>public class LoginForm { <br />聽聽聽 private String username; <br />聽聽聽 private String password; <br />聽聽聽 <br />聽聽聽 public void setUsername(String username) { <br />聽聽聽聽聽聽 this.username = username; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public void setPassword(String password) { <br />聽聽聽聽聽聽 this.password = password; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getUsername() { <br />聽聽聽聽聽聽 return username; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getPassword() { <br />聽聽聽聽聽聽 return password; <br />聽聽聽 } <br />}<br /><br /><br />5./form.jsp<br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><html> <br /><head><title>Login</title></head> <br /><body> <br />聽聽聽 璜嬭幾鍏ヤ嬌鐢ㄨ呭悕紼辮垏瀵嗙⒓錛?lt;p> <br />聽聽聽 <form name="loginform" action="login.do" method="post"> <br />聽聽聽聽聽聽聽 鍚嶇ū <input type="text" name="username"/><br> <br />聽聽聽聽聽聽聽 瀵嗙⒓ <input type="password" name="password"/><br> <br />聽聽聽聽聽聽聽 <input type="submit" value="紕哄畾"/> <br />聽聽聽 </form> <br />聽聽聽 娉ㄦ剰錛氳幾鍏ラ尟瑾ゆ渻鍐嶅洖鍒伴欏嬮爜闈腑銆?<br /></body> <br /></html><br /><br /><br />6./success.jsp<br /><br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><html> <br /><head><title>Login Success</title></head> <br /><body> <br />聽聽聽 <H1> Hello, ${user}!!</H1> <br />聽聽聽 This is your secret gift. <br /></body> <br /></html><br /></p> <img src ="http://www.tkk7.com/software5168/aggbug/65304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-23 16:29 <a href="http://www.tkk7.com/software5168/archive/2006/08/23/65304.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>springMVC 絎竴鍊嬩緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/23/65289.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 23 Aug 2006 07:52:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/23/65289.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/65289.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/23/65289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/65289.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/65289.html</trackback:ping><description><![CDATA[ <p>1. /hellouser.jsp<br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><html> <br /><head><title>HelloPage</title></head> <br /><body> <br />聽聽聽聽 <H1> ${helloWord}</H2> <br /></body> <br /></html><br /><br />2./index.jsp<br /><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br />聽 <head><br />聽 </head> <br />聽 <body><br />聽聽聽 <%<br />聽聽聽 聽response.sendRedirect("hellouser.do");<br />聽聽聽 %><br />聽 </body><br /></html><br /><br />3./WEB-INF/web.xml<br /><?xml version="1.0" encoding="UTF-8"?><br /><web-app version="2.4" <br />聽xmlns="<a <br />聽xmlns:xsi="<a <br />聽xsi:schemaLocation="<a >http://java.sun.com/xml/ns/j2ee</a><br />聽<a ><br />聽<br />聽<servlet> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><br />聽聽<init-param> <br />聽聽聽聽聽聽聽聽 <param-name>contextConfigLocation</param-name> <br />聽聽聽聽聽聽聽聽 <param-value>/WEB-INF/application-servlet.xml</param-value> <br />聽聽聽 聽</init-param>聽 <br />聽聽聽 </servlet> <br />聽<br />聽聽聽 <servlet-mapping> <br />聽聽聽聽聽聽聽 <servlet-name>hello</servlet-name> <br />聽聽聽聽聽聽聽 <url-pattern>*.do</url-pattern> <br />聽聽聽 </servlet-mapping> <br />聽聽<br /></web-app><br /><br />4./WEB-INF/application-servlet.xml<br /><?xml version="1.0" encoding="UTF-8"?> <br /><!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "<a > <br /><beans> <br />聽聽聽 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <br />聽聽聽聽聽聽聽 <property name="mappings"> <br />聽聽聽聽聽聽聽聽聽聽聽 <props> <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <prop key="/hellouser.do">helloUserAction</prop> <br />聽聽聽聽聽聽聽聽聽聽聽 </props> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <br />聽聽聽聽聽聽聽 <property name="viewClass"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>org.springframework.web.servlet.view.InternalResourceView</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br />聽聽聽 <br />聽聽聽 <bean id="helloUserAction" class="onlyfun.caterpillar.HelloUserAction"> <br />聽聽聽聽聽聽聽 <property name="helloWord"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>Hello!</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽聽聽聽聽 <property name="viewPage"> <br />聽聽聽聽聽聽聽聽聽聽聽 <value>/hellouser.jsp</value> <br />聽聽聽聽聽聽聽 </property> <br />聽聽聽 </bean> <br /></beans><br /><br />5./WEB-INF/classes/onlyfun/caterpillar/HelloUserAction.class<br />package onlyfun.caterpillar; </p> <p>import java.io.IOException; <br />import java.util.*; <br />import javax.servlet.*; <br />import javax.servlet.http.*; <br />import org.springframework.web.servlet.mvc.Controller; <br />import org.springframework.web.servlet.ModelAndView; <br />import org.springframework.web.bind.RequestUtils; </p> <p>public class HelloUserAction implements Controller { <br />聽聽 private String helloWord; <br />聽聽聽 private String viewPage; <br />聽聽聽 <br />聽聽 public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) <br />聽聽聽聽聽聽聽 throws ServletException, IOException { <br />聽聽聽聽 //String user = RequestUtils.getRequiredStringParameter(req, "user"); <br />聽聽聽聽聽 Map model = new HashMap(); <br />聽聽聽聽聽 model.put("helloWord", getHelloWord()); <br />聽聽聽聽 // model.put("user", user); <br />聽聽聽 <br />聽聽聽聽聽聽 return new ModelAndView(getViewPage(), model); <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public void setViewPage(String viewPage) { <br />聽聽聽聽聽聽 this.viewPage = viewPage; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getViewPage() { <br />聽聽聽聽聽聽 return viewPage; <br />聽聽聽 } </p> <p>聽聽聽 public void setHelloWord(String helloWord) { <br />聽聽聽聽聽聽 this.helloWord = helloWord; <br />聽聽聽 } <br />聽聽聽 <br />聽聽聽 public String getHelloWord() { <br />聽聽聽聽聽聽 return helloWord; <br />聽聽聽 } <br />}</p> <img src ="http://www.tkk7.com/software5168/aggbug/65289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-23 15:52 <a href="http://www.tkk7.com/software5168/archive/2006/08/23/65289.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ajax - 鍥炶鍑芥暩Observer瀵︾従渚嬪瓙http://www.tkk7.com/software5168/archive/2006/08/14/63390.htmlsoftware5168software5168Mon, 14 Aug 2006 00:50:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/14/63390.htmlhttp://www.tkk7.com/software5168/comments/63390.htmlhttp://www.tkk7.com/software5168/archive/2006/08/14/63390.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/63390.htmlhttp://www.tkk7.com/software5168/services/trackbacks/63390.html1.EventRouter.js
/**
聽* @author user
聽*/
var jsEvent = new Array();
jsEvent.EventRouter = function(el,eventType){
聽this.lsnrs = new Array();
聽this.el = el;
聽el.eventRouter = this;
聽el[eventType] = jsEvent.EventRouter.callback;
};
jsEvent.EventRouter.prototype.addListener = function(lsnr){
聽this.lsnrs.append(lsnr,true);聽
} ;

jsEvent.EventRouter.prototype.notify = function(e){
聽var lsnrs = this.lsnrs;
聽for(var i=0;i<lsnrs.length;i++){
聽聽var lsnr = lsnrs[i];
聽聽lsnr.call(this,e);
聽}
};
jsEvent.EventRouter.callback=function(event){
聽var e = event || window.event;
聽var router = this.eventRouter;
聽router.notify(e);
};

Array.prototype.append = function(obj,nodup){
聽if(nodup){聽
聽聽this[this.length]=obj;
聽}
};

2.mousemat.css
.mousemat{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:500px;
聽height:500px;
聽top:50px;
聽left:50px;聽
}
.thumbnail{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:100px;
聽height:100px;
聽top:50px;
聽left:600px;聽
}
.cursor{
聽background-color:blue;
聽position:relative;
聽height:5px;
聽width:5px;
}

3.mousemat.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<html>
聽<head>
聽聽<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
聽聽<title>Untitled Document</title>
聽聽<link rel='stylesheet' type = 'text/css' href = 'mousemat.css'>
聽聽<script type ='text/javascript' src = 'EventRouter.js'></script>
聽聽<script type='text/javascript'>
聽聽聽var cursor = null;
聽聽聽window.onload = function(){
聽聽聽聽var mat = document.getElementById('mousemat');
聽聽聽聽cursor = document.getElementById('cursor');
聽聽聽聽var mouseRouter = new jsEvent.EventRouter(mat,"onmousemove");
聽聽聽聽//var mouseRouter = new jsEvent.EventRouter(mat,"onclick");
聽聽聽聽mouseRouter.addListener(writeStatus);
聽聽聽聽mouseRouter.addListener(drawThumbnail);
聽聽聽};
聽聽聽function writeStatus(e){
聽聽聽聽window.status = e.clientX + "," + e.clientY;
聽聽聽}
聽聽聽function drawThumbnail(e){
聽聽聽聽cursor.style.left = ((e.clientX/5)-2) + "px";
聽聽聽聽cursor.style.top = ((e.clientY/5)-2) + "px";
聽聽聽}
聽聽</script>
聽</head>
聽<body>
聽聽<div class='mousemat' id='mousemat'></div>
聽聽<div class='thumbnail' id='thumbnail'>
聽聽聽<div class = 'cursor' id = 'cursor'></div>
聽聽</div>
聽</body>
</html>



]]>
ajax 鍠嬪厓绱犱腑瀵︾従澶氬嬪洖瑾垮嚱鏁哥殑渚嬪瓙http://www.tkk7.com/software5168/archive/2006/08/11/63028.htmlsoftware5168software5168Fri, 11 Aug 2006 08:12:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/11/63028.htmlhttp://www.tkk7.com/software5168/comments/63028.htmlhttp://www.tkk7.com/software5168/archive/2006/08/11/63028.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/63028.htmlhttp://www.tkk7.com/software5168/services/trackbacks/63028.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<html>
聽<head>
聽聽<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
聽聽<title>Untitled Document</title>
聽聽<link rel='stylesheet' type = 'text/css' href = 'mousemat.css'>
聽聽<script type='text/javascript'>
聽聽聽var cursor = null;
聽聽聽window.onload = function(){
聽聽聽聽var mat = document.getElementById('mousemat');
聽聽聽聽mat.onmousemove = mouseObserver;
聽聽聽聽cursor = document.getElementById('cursor');
聽聽聽}
聽聽聽function mouseObserver(event){
聽聽聽聽var e = event || window.event;
聽聽聽聽writeStatus(e);
聽聽聽聽drawThumbnail(e);
聽聽聽}
聽聽聽function writeStatus(e){
聽聽聽聽window.status = e.clientX + "," + e.clientY;
聽聽聽}
聽聽聽function drawThumbnail(e){
聽聽聽聽cursor.style.left = ((e.clientX/5)-2) + "px";
聽聽聽聽cursor.style.top = ((e.clientY/5)-2) + "px";
聽聽聽}
聽聽</script>
聽</head>
聽<body>
聽聽<div class='mousemat' id='mousemat'></div>
聽聽<div class='thumbnail' id='thumbnail'>
聽聽聽<div class = 'cursor' id = 'cursor'></div>
聽聽</div>
聽</body>
</html>


2.mousemat.css
mousemat{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:500px;
聽height:500px;
聽top:50px;
聽left:50px;聽
}
.thumbnail{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:100px;
聽height:100px;
聽top:50px;
聽left:600px;聽
}
.cursor{
聽background-color:blue;
聽position:relative;
聽height:5px;
聽width:5px;
}

]]>
ajax -絎竴鍊嬩緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/11/63003.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Fri, 11 Aug 2006 06:46:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/11/63003.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/63003.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/11/63003.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/63003.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/63003.html</trackback:ping><description><![CDATA[1.MyHtml.html<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br />聽 <head><br />聽<script type='text/javascript'><br />聽聽var req = null;<br />聽聽var console = null;<br />聽聽var READY_STATE_UNINITIALIZED = 0;<br />聽聽var READY_STATE_LOADING = 1;<br />聽聽var READY_STATE_LOADED = 2;<br />聽聽var READY_STATE_INTERACTIVE = 3;<br />聽聽var READY_STATE_COMPLETE = 4;<br />聽聽<br />聽聽function sendRequest(url,params,HttpMethod){<br />聽聽聽if(!HttpMethod){<br />聽聽聽聽HttpMethod = "GET";<br />聽聽聽}<br />聽聽聽req = initXMLHTTPRequest();<br />聽聽聽if(req){<br />聽聽聽聽req.onreadystatechange = onReadyState;<br />聽聽聽聽req.open(HttpMethod,url,true);<br />聽聽聽聽req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");<br />聽聽聽聽req.send(params);<br />聽聽聽聽<br />聽聽聽}<br />聽聽}<br />聽聽<br />聽聽function initXMLHTTPRequest(){<br />聽聽聽var xRequest = null;<br />聽聽聽if(window.XMLHttpRequest){<br />聽聽聽聽xRequest = new XMLHttpRequest();<br />聽聽聽}else if(window.ActiveXObject){<br />聽聽聽聽xRequest = new ActiveXObject("Microsoft.XMLHTTP");<br />聽聽聽}<br />聽聽聽return xRequest;<br />聽聽}<br />聽聽<br />聽聽function onReadyState(){<br />聽聽聽var ready = req.readyState;<br />聽聽聽var data = null;<br />聽聽聽if(ready==READY_STATE_COMPLETE){<br />聽聽聽聽data = req.responseText;<br />聽聽聽}else{<br />聽聽聽聽data = "loading...[" + ready +"]";<br />聽聽聽}<br />聽聽聽toConsole(data);<br />聽聽}<br />聽聽<br />聽聽function toConsole(data){<br />聽聽聽if(console!=null){<br />聽聽聽聽var newline = document.createElement("div");<br />聽聽聽聽console.appendChild(newline);<br />聽聽聽聽var txt = document.createTextNode(data);<br />聽聽聽聽console.appendChild(txt);<br />聽聽聽}<br />聽聽}<br />聽聽<br />聽聽window.onload = function(){<br />聽聽聽console = document.getElementById('console');<br />聽聽聽sendRequest("data.txt");<br />聽聽}<br />聽</script><br />聽 </head><br />聽 聽<br />聽 <body><br />聽 聽<DIV id ='console'></DIV><br />聽 </body><br /></html><br /><br />2.data.txt<br />聽i'm ok!!!!!!!!<img src ="http://www.tkk7.com/software5168/aggbug/63003.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-11 14:46 <a href="http://www.tkk7.com/software5168/archive/2006/08/11/63003.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ajax 鍙冩暩鍌抽仦鐨勪緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/11/62998.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Fri, 11 Aug 2006 06:35:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/11/62998.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/62998.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/11/62998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/62998.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/62998.html</trackback:ping><description><![CDATA[ <p>1.new_file.htm<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<a ><br /><html><br />聽<head><br />聽聽<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br />聽聽<title>Untitled Document</title><br />聽聽<SCRIPT type='text/javascript' src='new_file.js'></SCRIPT><br />聽聽<SCRIPT type='text/javascript'><br />聽聽聽window.onload = load;<br />聽聽</SCRIPT><br />聽</head><br />聽<body><br />聽聽<CENTER><INPUT type='button' id='b1'></INPUT></CENTER>聽<br />聽</body><br /></html><br /><br />2.new_file.js<br />var value = '500';</p> <p>function load(){<br />聽var domEl = document.getElementById('b1');聽<br />聽JsButton(value,domEl);<br />}<br />function JsButton(value,domEl){<br />聽this.domEl = domEl;<br />聽this.value = value;<br />聽this.domEl.buttonObj = this;<br />聽//this.domEl.onclick = function(){<br />聽聽//alert(this.value);<br />聽//}<br />聽this.domEl.onclick = JsButton.prototype.clickHandler;<br />}聽</p> <p>JsButton.prototype.clickHandler = function(){<br />聽//alert(this.value); 鍦ㄥ洖瑾垮嚱鏁鎬腑瑾跨敤this灞ф檪錒?br />聽//寰楀埌鐨勬槸灝嶆噳鐨凞OM鍏冪礌瑁¢潰鐨勬暩鍊鹼箰姝よ檿鐐虹┖銆?br />聽var buttonObj = this.buttonObj;<br />聽var value =(buttonObj && buttonObj.value)? buttonObj.value:"unknown value";<br />聽alert(value);<br />}</p> <img src ="http://www.tkk7.com/software5168/aggbug/62998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-11 14:35 <a href="http://www.tkk7.com/software5168/archive/2006/08/11/62998.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ajax http://www.tkk7.com/software5168/archive/2006/08/11/62945.htmlsoftware5168software5168Fri, 11 Aug 2006 03:34:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/11/62945.htmlhttp://www.tkk7.com/software5168/comments/62945.htmlhttp://www.tkk7.com/software5168/archive/2006/08/11/62945.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/62945.htmlhttp://www.tkk7.com/software5168/services/trackbacks/62945.html1.musical_dyn_keys.css
.musicalKeys{
聽background-color:#ffe0d0;
聽border:solid maroon 2px;
聽position:absolute;
聽overflow:auto;
聽margin:4px;
}
.toplong{
聽width:536px;
聽height:68px;
聽top:24px;
聽left:24px;
}
.sidebar{
聽width:100px;
聽height:400px;
聽top:24px;
聽left:570px;
}
.musicalButton{
聽border:solid navy 1px;
聽width:60px;
聽height:60px;
聽position:relative;
聽margin:2px;
聽float:left;
}
.do{background-color:red;}
.re{background-color:orange;}
.mi{background-color:yellow;}
.fa{background-color:green;}
.so{background-color:blue;}
.la{background-color:indigo;}
.ti{background-color:violet;}
div.console{
聽font-family:arial,helvetica;
聽font-size:16px;
聽color:navy;
聽background-color:white;
聽border:solid navy 2px;
聽width:536px;
聽height:320px;
聽top:106px;
聽left:24px;
聽margin:4px;
聽position:absolute;
聽overflow:auto;
}

2.musical_dyn_keys.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<html>
聽<head>
聽聽<title>Two Keyboards</title>
聽聽<LINK rel='stylesheet' type='text/css' href='musical_dyn_keys.css'/>
聽聽<SCRIPT type='text/javascript' src='musical_dyn_keys.js'></SCRIPT>
聽聽<SCRIPT type='text/javascript'>
聽聽聽window.onload=assignKeys
聽聽</SCRIPT>
聽</head>
聽<body>
聽聽<DIV id='keyboard-top' class='toplong musicalKeys'></DIV>
聽聽<DIV id='keyboard-side' class='sidebar musicalKeys'></DIV>
聽聽<DIV id='console' class='console'></DIV>
聽</body>
</html>


3.musical_dyn_keys.js
var notes = new Array("do","re","mi","fa","so","la","ti","do");
function assignKeys(){
聽var candidates = document.getElementsByTagName("DIV");
聽if(candidates){
聽聽for(var i=0;i<candidates.length;i++){
聽聽聽var candidate = candidates[i];
聽聽聽if(candidate.className.indexOf('musicalKeys')>=0){
聽聽聽聽makeKeyboard(candidate);
聽聽聽}
聽聽}
聽}
}

function makeKeyboard(el){
聽for(var i=0;i<notes.length;i++){
聽聽var key=document.createElement("DIV");
聽聽key.className = notes[i] + " musicalButton";
聽聽alert(key.className);
聽聽key.note = notes[i];
聽聽key.onclick = playNote;
聽聽el.appendChild(key);
聽}聽
}

function playNote(event){
聽var note = this.note;
聽var console = document.getElementById('console');
聽if(note && console){
聽聽console.innerHTML +=note + ".";
聽}
}



]]>
ajax - 綈″柈鐨勫鎴剁MVC瀵︾従渚嬪瓙http://www.tkk7.com/software5168/archive/2006/08/10/62822.htmlsoftware5168software5168Thu, 10 Aug 2006 09:03:00 GMThttp://www.tkk7.com/software5168/archive/2006/08/10/62822.htmlhttp://www.tkk7.com/software5168/comments/62822.htmlhttp://www.tkk7.com/software5168/archive/2006/08/10/62822.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/62822.htmlhttp://www.tkk7.com/software5168/services/trackbacks/62822.html1.murical.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
聽 <head>聽聽
聽聽聽 <link rel='stylesheet' type='text/css' href='musical.css'>
聽聽聽 <script type='text/javascript' src="musical.js"></script>
聽聽聽 <script type='text/javascript'>
聽聽 window.onload = assignKeys
聽聽聽 </script>聽聽
聽 </head>

聽 <body>
聽 聽<DIV>
聽 聽聽<DIV id='keyboard' class='musicalKeys'>
聽聽聽<DIV class='do musicalButton'></DIV>
聽聽聽<DIV class='re musicalButton'></DIV>
聽聽聽<DIV class='mi musicalButton'></DIV>
聽聽聽<DIV class='fa musicalButton'></DIV>
聽聽聽<DIV class='so musicalButton'></DIV>
聽聽聽<DIV class='la musicalButton'></DIV>
聽聽聽<DIV class='ti musicalButton'></DIV>
聽聽聽<DIV class='do musicalButton'></DIV>
聽聽</DIV>
聽聽<DIV id='console' class='console'></DIV>
聽 聽</DIV>
聽 </body>
</html>

2.musical.css
.body{
聽background-color:white;聽
}
.musicalKeys{
聽background-color:#ffe0d0;
聽boarder:solid maroon 2px;
聽width:536px;
聽height:68px;
聽top:24px;
聽left:24px;
聽margin:4px;
聽position:absolute;
聽overflow:auto;
}
.musicalButton{
聽border:solid navy 1px;
聽width:60px;
聽height:60px;
聽position:relative;
聽margin:2px;
聽float:left;
}
.do{background-color:red;}
.re{background-color:orange;}
.mi{background-color:yellow;}
.fa{background-color:green;}
.so{background-color:blue;}
.la{background-color:indigo;}
.ti{background-color:violet;}
div.console{
聽font-family:arial,helvetica;
聽font-size:16px;
聽color:navy;
聽background-color:white;
聽border:solid navy 2px;
聽width:536px;
聽height:320px;
聽top:106px;
聽left:24px;
聽margin:4px;
聽position:absolute;
聽overflow:auto;
}

3.musical.js
function assignKeys(){
聽var keyboard=document.getElementById("keyboard");
聽var keys = keyboard.getElementsByTagName("DIV");
聽if(keys){
聽聽for(var i=0;i<keys.length;i++){
聽聽聽var key=keys[i];
聽聽聽var classes=(key.className).split(" ");
聽聽聽if(classes && classes.length>=2 && classes[1]=="musicalButton"){
聽聽聽聽var note=classes[0];
聽聽聽聽key.note=note;
聽聽聽聽//key.onmouseover=playNote;
聽聽聽聽key.onclick = playNote;
聽聽聽}
聽聽}
聽}
}

function playNote(event){
聽var note = this.note;
聽var console = document.getElementById("console");
聽if(note && console){
聽聽console.innerHTML += note + ".";
聽}
}



]]>
ajax -rico鏈綈″柈鐨勪緥瀛?/title><link>http://www.tkk7.com/software5168/archive/2006/08/09/62569.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Wed, 09 Aug 2006 07:15:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/09/62569.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/62569.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/09/62569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/62569.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/62569.html</trackback:ping><description><![CDATA[MyHtml.html<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br />聽 <head><br />聽 <script type="text/javascript" src="prototype.js"></script><br />聽 <script type="text/javascript" src="rico.js"></script><br />聽 <script type='text/javascript'><br />聽聽聽聽 function accordion(){<br />聽聽 var outer = $('myAccordion');<br />聽聽 outer.style.width = '320px';聽聽 <br />聽聽new Rico.Accordion(<br />聽聽聽outer,<br />聽聽聽{panelHeight:400,<br />聽聽聽 expandedBg:'#909090',<br />聽聽聽 collapsedBg:'#404040'<br />聽聽聽}<br />聽聽);<br />聽 }<br />聽聽聽 window.onload = accordion聽<br />聽 </script><br />聽 </head> <br />聽 <body><br />聽聽 <div id='myAccordion'><br />聽聽 聽<div><br />聽聽 聽聽<div>first title</div><br />聽聽 聽聽<div>first!!!!!</div><br />聽聽 聽</div><br />聽聽 聽<div><br />聽聽 聽聽<div>second title</div><br />聽聽 聽聽<div>second!!!!!</div><br />聽聽 聽</div><br />聽聽 </div>聽聽 <br />聽 </body><br /></html><br /><img src ="http://www.tkk7.com/software5168/aggbug/62569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-09 15:15 <a href="http://www.tkk7.com/software5168/archive/2006/08/09/62569.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>姝e墖琛ㄩ仈寮?/title><link>http://www.tkk7.com/software5168/archive/2006/08/03/61516.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Thu, 03 Aug 2006 07:26:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/08/03/61516.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/61516.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/08/03/61516.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/61516.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/61516.html</trackback:ping><description><![CDATA[聽String sql = "INSERT INTO AB(A,B,C,D,E) VALUES(?,?,?,?,?)";<br />聽sql = sql.toUpperCase();<br />聽String str="<a href="file://\\s*INSERT\\s+INTO\\s+([^\\(]+)\\(([^\\)]+)\\)\\s*VALUES\\s*\\(([^\\)]+)\\)\\s">\\s*INSERT\\s+INTO\\s+([^\\(]+)\\(([^\\)]+)\\)\\s*VALUES\\s*\\(([^\\)]+)\\)\\s</a>*"; <br />聽Pattern p = Pattern.compile(str);<br />聽Matcher m = p.matcher(sql);<br />聽m.find();<br />聽String table = m.group(1); <br />聽String cols = m.group(2);<br />聽String values = m.group(3);<br />聽System.out.println("table ==== " + table); //AB<br />聽System.out.println("cols ==== " + cols); //A錒怋錒怌錒怐錒怑<br />聽System.out.println("values ==== " + values); //錒栵箰錒栵箰錒栵箰錒栵箰錒?br /><br />璦伙箷.琛ㄧず浠諱綍瀛楃<br />聽聽聽聽聽聽[abc]琛ㄧずabc涔嬩竴瀛楃<br />聽聽聽聽聽聽[^abc]琛ㄧず闈瀉bc鐨勪竴瀛楃<br />聽聽聽聽聽聽\s琛ㄧず絀烘牸錒恡ab,鎻涜錒愭彌闋侊箰鍥炶粖<br />聽聽聽聽 \S琛ㄧず闈炵┖鏍鹼箰tab,鎻涜錒愭彌闋侊箰鍥炶粖<br />聽聽聽 \d琛ㄧず鏁稿瓧[0-9]<br />聽聽聽 \D琛ㄧず闈炴暩瀛梉^0-9]<br />聽聽聽\w琛ㄧず瑭炲瓧絎a-zA-Z0-9]<br />聽聽 \W琛ㄧず闈炶瀛楃[^a-zA-Z0-9]<br />聽<br />鍖歸厤閲忚聽聽 X? 琛ㄧず1鎴?鍊媂<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽X* 琛ㄧず0鎴杗鍊媂<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽X+琛ㄧず1鎴杗鍊媂<img src ="http://www.tkk7.com/software5168/aggbug/61516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-08-03 15:26 <a href="http://www.tkk7.com/software5168/archive/2006/08/03/61516.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>WEB闁嬬櫦涓殑JAVA瀛楃綬ㄧ⒓http://www.tkk7.com/software5168/archive/2006/07/25/60028.htmlsoftware5168software5168Tue, 25 Jul 2006 09:12:00 GMThttp://www.tkk7.com/software5168/archive/2006/07/25/60028.htmlhttp://www.tkk7.com/software5168/comments/60028.htmlhttp://www.tkk7.com/software5168/archive/2006/07/25/60028.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/60028.htmlhttp://www.tkk7.com/software5168/services/trackbacks/60028.html涓銆佹瑕?br />銆銆鍦↗AVA鎳夌敤紼嬪紡鐗瑰垾鏄熀鏂糤EB鐨勭▼寮忎腑錛岀稉甯擱亣鍒板瓧絎︾殑綬ㄧ⒓鍟忛銆傜偤浜嗛槻姝㈠嚭鐝句簜紕鹼紝棣栧厛闇瑕佷簡瑙AVA鏄浣曡檿鐞嗗瓧絎︾殑錛岄欐ǎ灝卞彲浠ユ湁鐩殑鍦板湪杓稿叆/杓稿嚭鐠扮瘈涓鍔犲繀瑕佺殑杞夌⒓銆傚叾嬈★紝鐢辨柤鍚勭ó浼烘湇鍣ㄦ湁涓嶅悓鐨勮檿鐞嗘柟寮忥紝閭勯渶瑕佸鍋氳│椹楋紝紕轟繚浣跨敤涓笉鍑虹従浜傜⒓銆?br />浜屻佸熀鏈蹇?/strong>
2錛? JAVA涓瓧絎︾殑琛ㄩ仈
銆銆JAVA涓湁char銆乥yte銆丼tring閫欏咕鍊嬫蹇點俢har 鎸囩殑鏄竴鍊婾NICODE瀛楃錛岀偤16浣嶇殑鏁存暩銆俠yte 鏄瓧綃錛屽瓧絎︿覆鍦ㄧ恫璺偝杓告垨瀛樺劜鍓嶉渶瑕佽綁鎻涚偤byte鏁哥祫銆傚湪寰炵恫璺帴鏀舵垨寰炲瓨鍎茶ō鍌欒畝鍙栧緦闇瑕佸皣byte鏁哥祫杞夋彌鎴怱tring銆係tring鏄瓧絎︿覆錛屽彲浠ョ湅鎴愭槸鐢眂har緄勬垚鐨勬暩緄勩係tring 鍜?char 鐐哄収瀛樺艦寮忥紝byte鏄恫璺偝杓告垨瀛樺劜鐨勫簭鍒楀寲褰㈠紡銆?br />鑸変緥錛?br />鑻?br />String ying = 鈥滆嫳鈥?
char ying = ying.charAt(0);
String yingHex = Integer.toHexString(ying);
82 F1
byte yingGBBytes = ying.getBytes(鈥淕BK鈥?;
GB綬ㄧ⒓鐨勫瓧綃鏁稿?br />D3 A2

2錛? 綬ㄧ⒓鏂瑰紡鐨勭啊浠?br />銆銆String搴忓垪鍖栨垚byte鏁哥祫鎴栧弽搴忓垪鍖栨檪闇瑕侀伕鎿囨紕虹殑綬ㄧ⒓鏂瑰紡銆傚鏋滅法紕兼柟寮忎笉姝g⒑錛屽氨鏈冨緱鍒頒竴浜?x3F鐨勫箋傚父鐢ㄧ殑瀛楃綬ㄧ⒓鏂瑰紡鏈塈SO8859_1銆丟B2312銆丟BK銆乁TF-8/UTF-16/UTF-32銆?br />ISO8859_1鐢ㄤ締綬ㄧ⒓鎷変竵鏂囷紝瀹冪敱鍠瓧綃錛?錛?55錛夌祫鎴愩?br />銆銆GB2312銆丟BK鐢ㄤ締綬ㄧ⒓綈¢珨涓枃錛屽畠鏈夊柈瀛楃瘈鍜岄洐瀛楃瘈娣峰悎緄勬垚銆傛渶楂樹綅鐐?鐨勫瓧綃鍜屼笅涓鍊嬪瓧綃妲嬫垚涓鍊嬫饑瀛楋紝鏈楂樹綅鐐?鐨勫瓧綃鏄疉SCII紕箋?br />銆銆UTF-8/UTF-16/UTF-32鏄湅闅涙婧朥NICODE鐨勭法紕兼柟寮忋?鐢ㄥ緱鏈澶氱殑鏄疷TF-8錛屼富瑕佹槸鍥犵偤瀹冨湪灝嶆媺涓佹枃綬ㄧ⒓鏅傜瘈绱勭┖闁撱?/p>

UNICODE鍊?UTF-8綬ㄧ⒓
U-00000000 - U-0000007F: 0xxxxxxx
U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

涓夈丣2SE涓浉闂滅殑鍑芥暩
String str =鈥濊嫳鈥?
//鍙栧緱GB2312綬ㄧ⒓鐨勫瓧綃
byte[] bytesGB2312 = str.getBytes(鈥淕B2312鈥?;

//鍙栧緱騫寵嚭緙虹渷綬ㄧ⒓鐨勫瓧綃(solaris鐐篒SO8859_1,windows鐐篏B2312)
byte[] bytesDefault = str.getBytes();

//鐢ㄦ寚瀹氱殑綬ㄧ⒓灝囧瓧綃杞夋彌鎴愬瓧絎︿覆
String newStrGB = new String(bytesGB2312, 鈥淕B2312鈥?;

//鐢ㄥ鉤鑷虹己鐪佺殑綬ㄧ⒓灝囧瓧綃杞夋彌鎴愬瓧絎︿覆(solaris鐐篒SO8859_1,windows鐐篏B2312)
String newStrDefault = new String(bytesDefault);

//鐢ㄦ寚瀹氱殑綬ㄧ⒓寰炲瓧綃嫻佽闈㈣畝鍙栧瓧絎?br />InputStream in = xxx;
InputStreamReader reader = InputStreamReader( in, 鈥淕B2312鈥?;
char aChar = reader.read();
鍥涖丣SP銆佹暩鎿氬韓鐨勭法紕?br />4錛? JSP涓殑綬ㄧ⒓
(1) 闈滄厠鑱叉槑:
CHARSET鏈夊叐鍊嬩綔鐢細
JSP鏂囦歡鐨勭法紕兼柟寮忥細鍦ㄨ畝鍙朖SP鏂囦歡銆佺敓鎴怞AVA欏炴檪錛屾簮JSP鏂囦歡涓饑瀛楃殑綬ㄧ⒓
JSP杓稿嚭嫻佺殑綬ㄧ⒓鏂瑰紡錛氬湪鍩瘋JSP鏅傦紝寰response嫻佽闈㈠鍏ユ暩鎿氱殑綬ㄧ⒓鏂瑰紡
(2) 鍕曟厠鏀硅畩:鍦ㄥ線response嫻佽闈㈠鏁告摎鍓嶅彲浠ヨ鐢╮esponse.setContentType()錛岃ō瀹氭紕虹殑綬ㄧ⒓欏炲瀷銆?br />(3) 鍦═OMCAT涓紝鐢盧equest.getParameter() 寰楀埌鐨勫弮鏁革紝綬ㄧ⒓鏂瑰紡閮芥槸ISO8859_1銆傛墍浠ュ鏋滃湪鐎忚鍣ㄨ幾鍏ユ鍏ц幾鍏ヤ竴鍊嬫饑瀛椻滆嫳鈥濓紝鍦ㄤ己鏈嶅櫒绔氨寰楀埌涓鍊婭SO8859_1綬ㄧ⒓鐨勶紙0x00,0xD3,0x00,0xA2錛夈傛墍浠ラ氬父鍦ㄦ帴鏀跺弮鏁告檪杞夌⒓錛?br />String wrongStr = response.getParameter(鈥渘ame鈥?;
String correctStr = new String(wrongStr.getBytes(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
鍦ㄦ渶鏂扮殑SERVLET瑕忕瘎瑁忛潰錛屼篃鍙互鍦ㄧ嵅鍙栧弮鏁鎬箣鍓嶅煼琛屽涓嬩唬紕鹼細
request.setCharacterEncoding(鈥淕B2312鈥?;

4錛? 鏁告摎搴殑綬ㄧ⒓
(1) 鏁告摎搴嬌鐢║TF-16
濡傛灉String涓槸UNICODE瀛楃錛屽鍏ヨ畝鍑烘檪涓嶉渶瑕佽綁紕?br />(2) 鏁告摎搴嬌鐢↖SO8859_1
濡傛灉String涓槸UNICODE瀛楃錛屽鍏ヨ畝鍑烘檪闇瑕佽綁紕?br />瀵叆錛歋tring newStr = new String(oldStr.getByte(鈥淕B2312鈥?, 鈥淚SO8859_1鈥?;
璁鍑猴細String newStr = new String(oldStr.getByte(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
浜斻佹簮鏂囦歡鐨勭法紕?br />5錛? 璩囨簮鏂囦歡
璩囨簮鏂囦歡鐨勭法紕兼柟寮忓拰綬ㄨ集騫寵嚭鐩擱棞銆傚湪WINDOWS騫沖彴涓嬬法瀵殑璩囨簮鏂囦歡錛屼互GB2312鏂瑰紡綬ㄧ⒓銆傚湪綬ㄨ鏅傞渶瑕佽綁紕鹼紝浠ョ⒑淇濆湪鍚勫嬪鉤鑷轟笂鐨勬紕烘э細
native2ascii 鈥揺ncoding GB2312 source.properties
閫欐ǎ寰炶硣婧愭枃浠朵腑璁鍑虹殑灝辨槸姝g⒑鐨刄NICODE瀛楃涓層?br />5錛? 婧愭枃浠?br />婧愭枃浠剁殑綬ㄧ⒓鏂瑰紡鍜岀法杓鉤鑷虹浉闂溿傚湪WINDOWS騫沖彴涓嬮枊鐧肩殑婧愭枃浠訛紝浠B2312鏂瑰紡綬ㄧ⒓銆傚湪綬ㄨ鐨勬檪鍊欙紝闇瑕佹寚瀹氭簮鏂囦歡鐨勭法紕兼柟寮忥細
javac 鈥揺ncoding GB2312
JAVA綬ㄨ寰岀敓鎴愮殑瀛楃瘈鏂囦歡鐨勭法紕肩偤UTF-8銆?br />


榛炴渶鏂扮増TOMCAT4.1.18鏀彺request.setCharacterEncoding(String enc)
榛炶硣婧愭枃浠惰綁紕兼垚company.name=\u82f1\u65af\u514b
榛炲鏋滄暩鎿氬韓浣跨敤utf-16鍓囦笉闇瑕侀欓儴鍒嗚綁紕?br />榛為爜闈笂鎳夋湁
杞夌⒓鈪?
String s = new String
(request.getParameter(鈥渘ame鈥?.getBytes(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
杞夌⒓鈪?
String s = new String(name.getBytes(鈥淕B2312鈥?,鈥滻SO8859_1鈥?;
杞夌⒓鈪?
String s = new String(name.getBytes(鈥淚SO8859_1鈥?,鈥?GB2312鈥?;



]]>
JAVA鐨勫弽綬ㄨ---浣跨敤jadhttp://www.tkk7.com/software5168/archive/2006/07/12/57768.htmlsoftware5168software5168Wed, 12 Jul 2006 03:36:00 GMThttp://www.tkk7.com/software5168/archive/2006/07/12/57768.htmlhttp://www.tkk7.com/software5168/comments/57768.htmlhttp://www.tkk7.com/software5168/archive/2006/07/12/57768.html#Feedback0http://www.tkk7.com/software5168/comments/commentRss/57768.htmlhttp://www.tkk7.com/software5168/services/trackbacks/57768.html聽聽棣栧厛寰炴帶鍒跺彴閫插叆jad.exe鐩寗
聽聽 閬嬭聽jad example1.class
聽聽(姝ゆ檪example1.class鍜宩ad.exe浣嶆柤鍚屼竴鍊嬬洰閷?
聽 鎴愬姛閬嬭寰岋箰鐣跺墠鐩寗涓嬬敘鐢熶竴鍊嬫柊鏂囦歡example1.jad錒愯!闈㈢偤鍙嶇法璀緦鐨刯ava浠g⒓

2.澶氬?class鏂囦歡綬ㄨ
鑸?澶ц嚧鐩稿悓
杓稿叆jad -o -dtest -sjava *.class
鍏朵腑"test"琛ㄧず鍙嶇法璀枃浠剁殑瀛樻斁鐩寗錒?java"琛ㄧず鍙嶇法璀緦鐢㈢敓鏂囦歡鐨勫緦綞村悕

3.鏌愭枃浠跺ぞ涓嬫墍鏈夋枃浠剁法璀?br />鑸?澶ц嚧鐩稿悓
杓稿叆jad -o -dtest -sjava聽 tree/**/*.class
鍏朵腑"test"琛ㄧず鍙嶇法璀枃浠剁殑瀛樻斁鐩寗錒?java"琛ㄧず鍙嶇法璀緦鐢㈢敓鏂囦歡鐨勫緦綞村悕
tree琛ㄧず婧愭枃浠跺ぞ鍚?br />
瑭崇窗瑾槑鍙冪湅鈥淩eadme.txt鈥?br />jad涓嬭級鑱帴 http://www.infoxa.com/asp/soft_file/xxnr_soft_242.htm

]]>
Java鎿嶄綔Excel鐨勪竴縐嶆柟娉?/title><link>http://www.tkk7.com/software5168/archive/2006/06/30/55989.html</link><dc:creator>software5168</dc:creator><author>software5168</author><pubDate>Fri, 30 Jun 2006 08:54:00 GMT</pubDate><guid>http://www.tkk7.com/software5168/archive/2006/06/30/55989.html</guid><wfw:comment>http://www.tkk7.com/software5168/comments/55989.html</wfw:comment><comments>http://www.tkk7.com/software5168/archive/2006/06/30/55989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/software5168/comments/commentRss/55989.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/software5168/services/trackbacks/55989.html</trackback:ping><description><![CDATA[Java鎿嶄綔Excel鐨勪竴縐嶆柟娉暵?br /><br />聽bromon鍘熷垱聽鐗堟潈鎵鏈?br /><br />銆銆MS鐨勭數瀛愯〃鏍鹼紙Excel錛夋槸Office鐨勯噸瑕佹垚鍛橈紝鏄繚瀛樼粺璁℃暟鎹殑涓縐嶅父鐢ㄦ牸寮忋備綔涓哄姙鍏枃妗o紝鍔垮繀瑕佹秹鍙婂埌鐨勭數瀛愭枃妗g殑浜ゆ崲錛孍xcel鏄竴縐嶅湪浼佷笟涓潪甯擱氱敤鐨勬枃浠舵牸寮忥紝鎵撳嵃鍜岀鐞嗕篃姣旇緝鏂逛究銆傚湪涓涓狫ava搴旂敤涓紝灝嗕竴閮ㄥ垎鏁版嵁鐢熸垚Excel鏍煎紡錛屾槸涓庡叾浠栫郴緇熸棤緙濊繛鎺ョ殑閲嶈鎵嬫銆?br /><br />銆銆鍦ㄥ紑婧愪笘鐣屼腑錛屾湁涓ゅ姣旇緝鏈夊獎鍝嶇殑API鍙緵浣跨敤錛屼竴涓槸POI錛屼竴涓槸jExcelAPI銆傚叾涓璲ExcelAPI鏄竴涓煩鍥界▼搴忓憳鐨勪綔鍝侊紝铏界劧娌℃湁POI閭f牱琛緇熼珮璐碉紝浣嗘槸鍦ㄧ瑪鑰呯殑浣跨敤榪囩▼涓紝鎰熻綆鍗曟柟渚匡紝瀵逛腑鏂囨敮鎸侀潪甯稿ソ錛屽姛鑳戒篃姣旇緝寮哄ぇ銆傚彲浠ュ湪sourceforge.net涓嬭澆銆備綔鑰呯殑緗戠珯涓婂瀹冪殑鐗瑰緛鏈夊涓嬫弿榪幫細<br /><br />聽鈼徛犳敮鎸丒xcel聽95-2000鐨勬墍鏈夌増鏈?br />聽鈼徛犵敓鎴怑xcel聽2000鏍囧噯鏍煎紡<br />聽鈼徛犳敮鎸佸瓧浣撱佹暟瀛椼佹棩鏈熸搷浣?br />聽鈼徛犺兘澶熶慨楗板崟鍏冩牸灞炴?br />聽鈼徛犳敮鎸佸浘鍍忓拰鍥捐〃<br /><br />銆銆搴旇璇翠互涓婂姛鑳藉凡緇忚兘澶熷ぇ鑷存弧瓚蟲垜浠殑闇瑕併傛渶鍏抽敭鐨勬槸榪欏API鏄函Java鐨勶紝騫朵笉渚濊禆Windows緋葷粺錛屽嵆浣胯繍琛屽湪Linux涓嬶紝瀹冨悓鏍瘋兘澶熸紜殑澶勭悊Excel鏂囦歡銆傚彟澶栭渶瑕佽鏄庣殑鏄紝榪欏API瀵瑰浘褰㈠拰鍥捐〃鐨勬敮鎸佸緢鏈夐檺錛岃屼笖浠呬粎璇嗗埆PNG鏍煎紡銆?br /><br />銆銆鎼緩鐜<br /><br />銆銆灝嗕笅杞藉悗鐨勬枃浠惰В鍖咃紝寰楀埌jxl.jar錛屾斁鍏lasspath錛屽畨瑁呭氨瀹屾垚浜嗐?br /><br />聽鍩烘湰鎿嶄綔<br /><br />聽涓銆佸垱寤烘枃浠?br /><br />聽鎷熺敓鎴愪竴涓悕涓衡滄祴璇曟暟鎹?xls鈥濈殑Excel鏂囦歡錛屽叾涓涓涓伐浣滆〃琚懡鍚嶄負鈥滅涓欏碘濓紝澶ц嚧鏁堟灉濡備笅錛?br /><br />聽<br /><br />聽浠g爜錛圕reateXLS.java錛夛細<br />聽聽<br />聽 <div id="nzflbbl" class="codeStyle"><ol><li><i><font color="#339900">//鐢熸垚Excel鐨勭被</font></i></li><li>聽<b><font color="#0000ff">import</font></b>聽java.io.*; </li><li>聽<b><font color="#0000ff">import</font></b>聽jxl.*; </li><li>聽<b><font color="#0000ff">import</font></b>聽jxl.write.*; </li><li></li><li>聽<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">class</font></b>聽CreateXLS </li><li>聽{ </li><li>聽銆銆<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">static</font></b>聽<b><font color="#0000ff">void</font></b>聽main(<b><a target="_blank"><font class="classLink"><u>String</u></font></a></b>聽args[]) </li><li>聽銆銆{ </li><li>聽銆銆<b><font color="#0000ff">try</font></b></li><li>聽銆銆{ </li><li>銆銆銆銆<i><font color="#339900">//鎵撳紑鏂囦歡</font></i></li><li>銆銆銆銆WritableWorkbook聽book=Workbook.createWorkbook(<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">File</font>(鈥滄祴璇?xls鈥?); </li><li>聽聽聽聽聽 </li><li>銆銆銆銆<i><font color="#339900">//鐢熸垚鍚嶄負鈥滅涓欏碘濈殑宸ヤ綔琛紝鍙傛暟0琛ㄧず榪欐槸絎竴欏?/font></i></li><li>銆銆銆銆WritableSheet聽sheet=book.createSheet(鈥滅涓欏碘?0); </li><li>聽聽聽 </li><li>銆銆銆銆<i><font color="#339900">//鍦↙abel瀵硅薄鐨勬瀯閫犲瓙涓寚鍚嶅崟鍏冩牸浣嶇疆鏄涓鍒楃涓琛?0,0)</font></i></li><li>銆銆銆銆<i><font color="#339900">//浠ュ強鍗曞厓鏍煎唴瀹逛負test</font></i></li><li>銆銆銆銆<font color="#ff0000">Label</font>聽label=<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">Label</font>(0,0,鈥漷est鈥?; </li><li></li><li>銆銆銆銆<i><font color="#339900">//灝嗗畾涔夊ソ鐨勫崟鍏冩牸娣誨姞鍒板伐浣滆〃涓?/font></i></li><li>銆銆銆銆sheet.addCell(label); </li><li></li><li>銆銆銆銆<i><font color="#339900">/**鐢熸垚涓涓繚瀛樻暟瀛楃殑鍗曞厓鏍?/font></i></li><li><i><font color="#339900">銆銆銆銆*蹇呴』浣跨敤Number鐨勫畬鏁村寘璺緞錛屽惁鍒欐湁璇硶姝т箟</font></i></li><li><i><font color="#339900">銆銆銆銆*鍗曞厓鏍間綅緗槸絎簩鍒楋紝絎竴琛岋紝鍊間負789.123</font></i></li><li><i><font color="#339900">銆銆銆銆*/</font></i></li><li>銆銆銆銆jxl.write.<font color="#ff0000">Number</font>聽number聽=聽<b><font color="#0000ff">new</font></b>聽jxl.write.<font color="#ff0000">Number</font>(1,0,789.123); </li><li>銆銆銆銆sheet.addCell(number); </li><li></li><li>銆銆銆銆<i><font color="#339900">//鍐欏叆鏁版嵁騫跺叧闂枃浠?/font></i></li><li>銆銆銆銆book.write(); </li><li>銆銆銆銆book.close(); </li><li></li><li>銆銆銆銆}<b><font color="#0000ff">catch</font></b>(<b><a target="_blank"><font class="classLink"><u>Exception</u></font></a></b>聽e) </li><li>銆銆銆銆{ </li><li>銆銆銆銆銆銆<b><a target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(e); </li><li>銆銆銆銆} </li><li>銆銆} </li><li>聽}聽 </li></ol></div><br />聽緙栬瘧鎵ц鍚庯紝浼氬湪褰撳墠浣嶇疆浜х敓涓涓狤xcel鏂囦歡銆?br /><br />聽涓夈佽鍙栨枃浠?br /><br />聽浠ュ垰鎵嶆垜浠垱寤虹殑Excel鏂囦歡涓轟緥錛屽仛涓涓畝鍗曠殑璇誨彇鎿嶄綔錛岀▼搴忎唬鐮佸涓嬶細<br />聽聽<br />聽 <div id="xhndfpr" class="codeStyle"><ol><li><i><font color="#339900">//璇誨彇Excel鐨勭被</font></i></li><li>聽<b><font color="#0000ff">import</font></b>聽java.io.*; </li><li>聽<b><font color="#0000ff">import</font></b>聽jxl.*; </li><li></li><li>聽<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">class</font></b>聽ReadXLS </li><li>聽{ </li><li>聽<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">static</font></b>聽<b><font color="#0000ff">void</font></b>聽main(<b><a target="_blank"><font class="classLink"><u>String</u></font></a></b>聽args[]) </li><li>聽{ </li><li>聽聽<b><font color="#0000ff">try</font></b></li><li>聽聽{ </li><li>聽聽聽Workbook聽book= </li><li>聽Workbook.getWorkbook(<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">File</font>(鈥滄祴璇?xls鈥?); </li><li>聽聽聽 </li><li>聽聽聽<i><font color="#339900">//鑾峰緱絎竴涓伐浣滆〃瀵硅薄</font></i></li><li>聽Sheet聽sheet=book.getSheet(0); </li><li></li><li>聽<i><font color="#339900">//寰楀埌絎竴鍒楃涓琛岀殑鍗曞厓鏍?/font></i></li><li>聽Cell聽cell1=sheet.getCell(0,0); </li><li>聽<b><a target="_blank"><font class="classLink"><u>String</u></font></a></b>聽result=cell1.getContents(); </li><li>聽<b><a target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(result); </li><li></li><li>聽book.close(); </li><li></li><li>聽聽}<b><font color="#0000ff">catch</font></b>(<b><a target="_blank"><font class="classLink"><u>Exception</u></font></a></b>聽e) </li><li>聽聽{ </li><li>聽聽聽<b><a target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(e); </li><li>聽聽} </li><li>聽} </li><li>聽}聽 </li></ol></div><br /><br />聽紼嬪簭鎵ц緇撴灉錛歵est<br /><br />聽鍥涖佷慨鏀規枃浠?br /><br />聽鍒╃敤jExcelAPI鍙互淇敼宸叉湁鐨凟xcel鏂囦歡錛屼慨鏀笶xcel鏂囦歡鐨勬椂鍊欙紝闄や簡鎵撳紑鏂囦歡鐨勬柟寮忎笉鍚屼箣澶栵紝鍏朵粬鎿嶄綔鍜屽垱寤篍xcel鏄竴鏍風殑銆備笅闈㈢殑渚嬪瓙鏄湪鎴戜滑宸茬粡鐢熸垚鐨凟xcel鏂囦歡涓坊鍔犱竴涓伐浣滆〃錛?br /><br />聽 <div id="xplpvjz" class="codeStyle"><ol><li><i><font color="#339900">//淇敼Excel鐨勭被錛屾坊鍔犱竴涓伐浣滆〃</font></i></li><li>聽<b><font color="#0000ff">import</font></b>聽java.io.*; </li><li>聽<b><font color="#0000ff">import</font></b>聽jxl.*; </li><li>聽<b><font color="#0000ff">import</font></b>聽jxl.write.*; </li><li></li><li>聽<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">class</font></b>聽UpdateXLS </li><li>聽{ </li><li>聽<b><font color="#0000ff">public</font></b>聽<b><font color="#0000ff">static</font></b>聽<b><font color="#0000ff">void</font></b>聽main(<b><a target="_blank"><font class="classLink"><u>String</u></font></a></b>聽args[]) </li><li>聽{ </li><li>聽聽<b><font color="#0000ff">try</font></b></li><li>聽聽{ </li><li>聽聽聽<i><font color="#339900">//Excel鑾峰緱鏂囦歡</font></i></li><li>聽聽聽Workbook聽wb=Workbook.getWorkbook(<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">File</font>(鈥滄祴璇?xls鈥?); </li><li>聽聽聽 </li><li>聽聽聽<i><font color="#339900">//鎵撳紑涓涓枃浠剁殑鍓湰錛屽茍涓旀寚瀹氭暟鎹啓鍥炲埌鍘熸枃浠?/font></i></li><li>聽WritableWorkbook聽book= </li><li>聽Workbook.createWorkbook(<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">File</font>(鈥滄祴璇?xls鈥?,wb); </li><li>聽聽聽 </li><li>聽聽聽<i><font color="#339900">//娣誨姞涓涓伐浣滆〃</font></i></li><li>聽聽聽WritableSheet聽sheet=book.createSheet(鈥滅浜岄〉鈥?1); </li><li></li><li>聽聽聽sheet.addCell(<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">Label</font>(0,0,鈥濈浜岄〉鐨勬祴璇曟暟鎹?); </li><li>聽聽聽 </li><li>聽聽聽book.write(); </li><li>聽聽聽book.close(); </li><li>聽聽}<b><font color="#0000ff">catch</font></b>(<b><a target="_blank"><font class="classLink"><u>Exception</u></font></a></b>聽e) </li><li>聽聽{ </li><li>聽聽聽<b><a target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(e); </li><li>聽聽} </li><li>聽} </li><li>聽}聽 </li></ol></div><br />聽鎵ц緇撴灉濡傚浘錛?br /><br />聽<br /><br />聽楂樼駭鎿嶄綔<br /><br />聽涓銆伮犳暟鎹牸寮忓寲<br /><br />聽鍦‥xcel涓笉娑夊強澶嶆潅鐨勬暟鎹被鍨嬶紝鑳藉姣旇緝濂界殑澶勭悊瀛椾覆銆佹暟瀛楀拰鏃ユ湡宸茬粡鑳藉婊¤凍涓鑸殑搴旂敤銆?br /><br />聽1銆伮犲瓧涓叉牸寮忓寲<br /><br />聽瀛楃涓茬殑鏍煎紡鍖栨秹鍙婂埌鐨勬槸瀛椾綋銆佺矖緇嗐佸瓧鍙風瓑鍏冪礌錛岃繖浜涘姛鑳戒富瑕佺敱WritableFont鍜學ritableCellFormat綾繪潵璐熻矗銆傚亣璁炬垜浠湪鐢熸垚涓涓惈鏈夊瓧涓茬殑鍗曞厓鏍兼椂錛屼嬌鐢ㄥ涓嬭鍙ワ紝涓烘柟渚垮彊榪幫紝鎴戜滑涓烘瘡涓琛屽懡浠ゅ姞浜嗙紪鍙鳳細<br /><br /><br />聽 <div id="brdhvnd" class="codeStyle"><ol><li>WritableFont聽font1= </li><li>聽<b><font color="#0000ff">new</font></b>聽WritableFont(WritableFont.TIMES,16,WritableFont.BOLD);聽鈶? </li><li></li><li>聽WritableCellFormat聽format1=<b><font color="#0000ff">new</font></b>聽WritableCellFormat(font1);聽鈶? </li><li></li><li>聽<font color="#ff0000">Label</font>聽label=<b><font color="#0000ff">new</font></b>聽<font color="#ff0000">Label</font>(0,0,鈥漝ata聽4聽test鈥?format1)聽鈶?</li></ol></div><br /><br />聽鍏朵腑鈶犳寚瀹氫簡瀛椾覆鏍煎紡錛氬瓧浣撲負TIMES錛屽瓧鍙?6錛屽姞綺楁樉紺恒俉ritableFont鏈夐潪甯鎬赴瀵岀殑鏋勯犲瓙錛屼緵涓嶅悓鎯呭喌涓嬩嬌鐢紝jExcelAPI鐨刯ava-doc涓湁璇︾粏鍒楄〃錛岃繖閲屼笉鍐嶅垪鍑恒?br /><br />聽鈶″浠g爜浣跨敤浜哤ritableCellFormat綾伙紝榪欎釜綾婚潪甯擱噸瑕侊紝閫氳繃瀹冨彲浠ユ寚瀹氬崟鍏冩牸鐨勫悇縐嶅睘鎬э紝鍚庨潰鐨勫崟鍏冩牸鏍煎紡鍖栦腑浼氭湁鏇村鎻忚堪銆?br /><br />聽鈶㈠浣跨敤浜哃abel綾葷殑鏋勯犲瓙錛屾寚瀹氫簡瀛椾覆琚祴浜堥偅縐嶆牸寮忋?br /><br />聽鍦╓ritableCellFormat綾諱腑錛岃繕鏈変竴涓緢閲嶈鐨勬柟娉曟槸鎸囧畾鏁版嵁鐨勫榻愭柟寮忥紝姣斿閽堝鎴戜滑涓婇潰鐨勫疄渚嬶紝鍙互鎸囧畾錛?br /><br />聽 <div id="dtnztzp" class="codeStyle"><ol><li><i><font color="#339900">//鎶婃按騫沖榻愭柟寮忔寚瀹氫負灞呬腑</font></i></li><li>聽format1.setAlignment(jxl.format.Alignment.CENTRE); </li></ol></div><br /><br />聽 <div id="xtvzbxn" class="codeStyle"><ol><li><i><font color="#339900">//鎶婂瀭鐩村榻愭柟寮忔寚瀹氫負灞呬腑</font></i></li><li>聽format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); </li></ol></div><br /><br />聽浜屻佸崟鍏冩牸鎿嶄綔<br /><br />聽Excel涓緢閲嶈鐨勪竴閮ㄥ垎鏄鍗曞厓鏍肩殑鎿嶄綔錛屾瘮濡傝楂樸佸垪瀹姐佸崟鍏冩牸鍚堝茍絳夛紝鎵騫竕ExcelAPI鎻愪緵浜嗚繖浜涙敮鎸併傝繖浜涙搷浣滅浉瀵規瘮杈冪畝鍗曪紝涓嬮潰鍙粙緇嶄竴涓嬬浉鍏崇殑API銆?br /><br />聽1銆伮犲悎騫跺崟鍏冩牸<br /><br />聽 <div id="dlxpjjh" class="codeStyle"><ol><li>WritableSheet.mergeCells(<b><font color="#0000ff">int</font></b>聽m,<b><font color="#0000ff">int</font></b>聽n,<b><font color="#0000ff">int</font></b>聽p,<b><font color="#0000ff">int</font></b>聽q);聽 </li></ol></div><br /><br />聽浣滅敤鏄粠(m,n)鍒?p,q)鐨勫崟鍏冩牸鍏ㄩ儴鍚堝茍錛屾瘮濡傦細<br />聽 <div id="xvhbntb" class="codeStyle"><ol><li>WritableSheet聽sheet=book.createSheet(鈥滅涓欏碘?0); </li></ol></div><br /><br />聽//鍚堝茍絎竴鍒楃涓琛屽埌絎叚鍒楃涓琛岀殑鎵鏈夊崟鍏冩牸<br />聽 <div id="zztzdjh" class="codeStyle"><ol><li>sheet.mergeCells(0,0,5,0); </li></ol></div><br /><br />聽鍚堝茍鏃㈠彲浠ユ槸妯悜鐨勶紝涔熷彲浠ユ槸綰靛悜鐨勩傚悎騫跺悗鐨勫崟鍏冩牸涓嶈兘鍐嶆榪涜鍚堝茍錛屽惁鍒欎細瑙﹀彂寮傚父銆?br /><br />聽2銆伮犺楂樺拰鍒楀<br /><br />聽 <div id="jptjvdz" class="codeStyle"><ol><li>WritableSheet.setRowView(<b><font color="#0000ff">int</font></b>聽i,<b><font color="#0000ff">int</font></b>聽height); </li></ol></div><br /><br />聽浣滅敤鏄寚瀹氱i+1琛岀殑楂樺害錛屾瘮濡傦細<br /><br />聽//灝嗙涓琛岀殑楂樺害璁句負200<br />聽 <div id="bblxtzx" class="codeStyle"><ol><li>sheet.setRowView(0,200); </li><li></li><li>聽WritableSheet.setColumnView(<b><font color="#0000ff">int</font></b>聽i,<b><font color="#0000ff">int</font></b>聽width); </li></ol></div><br /><br />聽浣滅敤鏄寚瀹氱i+1鍒楃殑瀹藉害錛屾瘮濡傦細<br /><br />聽//灝嗙涓鍒楃殑瀹藉害璁句負30<br />聽 <div id="zxhjlbh" class="codeStyle"><ol><li>sheet.setColumnView(0,30); </li></ol></div><br /><br />聽jExcelAPI榪樻湁鍏朵粬鐨勪竴浜涘姛鑳斤紝姣斿鎻掑叆鍥劇墖絳夛紝榪欓噷灝變笉鍐嶄竴涓浠嬬粛錛岃鑰呭彲浠ヨ嚜宸辨帰绱€?br /><br /><br /><script type="text/javascript"><!-- google_ad_client = "pub-7390275636631344"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel ="5095444487"; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; //--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script><img src ="http://www.tkk7.com/software5168/aggbug/55989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/software5168/" target="_blank">software5168</a> 2006-06-30 16:54 <a href="http://www.tkk7.com/software5168/archive/2006/06/30/55989.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤Java璇誨彇Excel鏂囦歡鍐呭http://www.tkk7.com/software5168/archive/2006/06/30/55986.htmlsoftware5168software5168Fri, 30 Jun 2006 08:51:00 GMThttp://www.tkk7.com/software5168/archive/2006/06/30/55986.htmlhttp://www.tkk7.com/software5168/comments/55986.htmlhttp://www.tkk7.com/software5168/archive/2006/06/30/55986.html#Feedback4http://www.tkk7.com/software5168/comments/commentRss/55986.htmlhttp://www.tkk7.com/software5168/services/trackbacks/55986.html
聽聽濡傛灉浣犳湁涓狤xcel鏂囦歡錛屽悕涓築ook1.xls錛堣瘧鑰呮敞錛氱敱浜庡師鏂囩殑渚嬪瓙鎴戞病鏈変笅杞戒笅鏉ワ紝鎵浠ユ垜鐢ㄤ簡鑷繁鐨勪緥瀛愶級錛屽茍涓旓紝璇ユ枃浠朵腑鏈変竴涓伐浣滆〃錛坰heet錛夊悕涓篠heet1

聽聽

寰蔣鐨凮DBC椹卞姩紼嬪簭鎶婂伐浣滆〃涓殑絎竴琛屼綔涓哄垪鍚嶏紙璇戣呮敞錛氬嵆瀛楁鍚嶏級錛屽伐浣滆〃鍚嶄綔涓烘暟鎹簱琛ㄥ悕銆?

聽聽瑕侀氳繃JDBC璁塊棶宸ヤ綔琛紝鎴戜滑榪樺繀欏誨垱寤轟竴涓柊鐨凮DBC鏁版嵁婧愶紝鍦╓indows 2000緋葷粺涓婂垱寤烘暟鎹簮鐨勮繃紼嬪涓嬶細


榪涘叆鈥滄帶鍒墮潰鏉庫?--> 鈥滅鐞嗗伐鍏封?--> 鈥滄暟鎹簮錛圤DBC錛夆濓紝錛堣瘧鑰呮敞錛氭墦寮鍚庨夋嫨緋葷粺DSN錛夛紝鐐瑰嚮娣誨姞錛屽湪寮瑰嚭紿楀彛涓夋嫨鈥淒river do Microsoft Excel(*.xls)鈥?br />



鐒跺悗鍦ㄦ暟鎹簮鍚嶅杈撳叆浣犱竴涓悕瀛桞ook1錛堣瘧鑰呮敞錛氱浉褰撲簬鏁版嵁搴撳悕錛夛紝鐒跺悗鐐瑰嚮鈥滈夋嫨宸ヤ綔綈庫濓紝鐒跺悗鎵懼埌騫墮夊彇浣犵殑Excel鏂囦歡


鐐瑰嚮紜畾鍚庯紝緋葷粺鏁版嵁婧愬垪琛ㄤ腑浼氬嚭鐜頒綘璁劇疆鐨勬暟鎹簮鍚嶇О錛?br />聽聽



聽聽鐜板湪鏁版嵁琛ㄥ凡緇忓湪鏁版嵁婧愬垪琛ㄩ噷浜嗭紙璇戣呮敞錛氱偣鍑葷‘瀹氬畬鎴愰厤緗級銆?

聽聽錛堣瘧鑰呮敞錛氭垜鐨勪緥瀛愪腑錛夌幇鍦ㄥ鏋滄垜浠兂鎸戝嚭test1鍒椾腑鐨勬墍鏈夆滄祴璇曗濆鹼紝閭e氨闇瑕佺敤浠ヤ笅鐨凷QL鏌ヨ錛?br />
聽聽SELECT test1 FROM [Sheet1$] WHERE test1='嫻嬭瘯'

聽聽瑕佹敞鎰忕殑鏄伐浣滆〃鍚嶅悗闈㈣窡浜嗕竴涓?鈥濈鍙鳳紝榪欎釜絎﹀彿鏄笉鍙己灝戠殑銆備負浠涔堬紵鍥犱負浠栫殑鍓嶅悗鏈夋柟鎷彿錛屽洜涓衡?鈥濇槸SQL璇彞涓殑淇濈暀瀛椼侺ife is never easy錛堣瘧鑰呮敞錛氫綔鑰呭彂鎰熸叏浜嗭級銆?

涓嬮潰鏄緥瀛愮▼搴忥細
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;

public class ExcelReader {

聽聽聽聽public static void main( String錛伙冀 args ) {

聽聽聽聽聽聽聽聽Connection c = null;
聽聽聽聽聽聽聽聽Statement stmnt = null;
聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
聽聽聽聽聽聽聽聽聽聽聽聽c = DriverManager.getConnection( "jdbc:odbc:Book1", "", "" );
聽聽聽聽聽聽聽聽聽聽聽聽stmnt = c.createStatement();
聽聽聽聽聽聽聽聽聽聽聽聽String query = "SELECT test1 FROM [Sheet1$] WHERE test1='嫻嬭瘯'";
聽聽聽聽聽聽聽聽聽聽聽聽ResultSet rs = stmnt.executeQuery( query );
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println( "鏌ュ緱鍖歸厤'嫻嬭瘯'鐨則est1鐨勮褰曚負:" );
聽聽聽聽聽聽聽聽聽聽聽聽while( rs.next() ) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println( rs.getString( "test1" ) );
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽catch( Exception e ) {
聽聽聽聽聽聽聽聽聽聽聽聽System.err.println( e );
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽finally {
聽聽聽聽聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽stmnt.close();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽c.close();
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽catch( Exception e ) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.err.println( e );
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}

鍦ㄦ紼嬪簭涓紝涓誨嚱鏁癿ain() 寤虹珛浜嗕竴涓暟鎹〃鐨勮繛鎺ワ紝騫跺彇鍑虹鍚堟潯浠剁殑璁板綍銆?

錛堣瘧鑰呮敞錛氬彟澶栵紝鎴戣繖閲岃繕鏈変竴孌電▼搴忥紝鏄鍙栨墍鏈夎褰曠殑紼嬪簭錛屼粎浣滃弬鑰冿級錛?

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.DriverManager;

public class ExcelReader {

聽聽聽聽public static void main(String錛伙冀 args){
聽聽聽聽聽聽聽聽Connection connection = null;

聽聽聽聽聽聽聽聽try{
聽聽聽聽聽聽聽聽聽聽聽聽Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
聽聽聽聽聽聽聽聽聽聽聽聽Connection con = DriverManager.getConnection( "jdbc:odbc:Book1","","" );
聽聽聽聽聽聽聽聽聽聽聽聽Statement st = con.createStatement();
聽聽聽聽聽聽聽聽聽聽聽聽ResultSet rs = st.executeQuery( "SELECT * FROM [Sheet1$]" );

聽聽聽聽聽聽聽聽聽聽聽聽ResultSetMetaData rsmd = rs.getMetaData();
聽聽聽聽聽聽聽聽聽聽聽聽int numberOfColumns = rsmd.getColumnCount();

聽聽聽聽聽聽聽聽聽聽聽聽while (rs.next()) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for (int i = 1; i <= numberOfColumns; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if(i>1)聽聽//鐢ㄩ楀彿鍒嗛殧鍚勫垪
聽聽聽聽聽聽System.out.print(", ");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String columnValue = rs.getString(i);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(columnValue);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println("");
聽聽聽聽聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽聽聽聽聽st.close();
聽聽聽聽聽聽聽聽聽聽聽聽con.close();


聽聽聽聽聽聽聽聽} catch(Exception ex) {
聽聽聽聽聽聽聽聽聽聽聽聽System.err.print("Exception: ");
聽聽聽聽聽聽聽聽聽聽聽聽System.err.println(ex.getMessage());
聽聽聽聽聽聽聽聽}
聽聽聽聽}

}


]]>
主站蜘蛛池模板: 亚洲熟妇av午夜无码不卡| 亚洲中文字幕一二三四区苍井空| 免费国产成人高清在线观看网站| 精品多毛少妇人妻AV免费久久| 亚洲成a人无码亚洲成av无码 | 亚洲成人一级电影| 亚洲VA中文字幕不卡无码| 亚洲高清免费视频| 日韩视频在线免费观看| 免费无码成人AV在线播放不卡| 国产免费人成视频尤勿视频| 激情婷婷成人亚洲综合| 亚洲熟女精品中文字幕| 亚洲国产午夜精品理论片| 亚洲国产精品自在线一区二区| 亚洲一区精品无码| 亚洲综合国产精品第一页| 国产又大又黑又粗免费视频 | 国产日产亚洲系列| 亚洲第一黄色网址| mm1313亚洲精品无码又大又粗 | 日本亚洲免费无线码| 亚洲国产日产无码精品| 4444亚洲国产成人精品| 久久久亚洲欧洲日产国码二区| 精品亚洲一区二区| 亚洲午夜国产精品无码老牛影视| 亚洲国产免费综合| 亚洲男女内射在线播放| 国产精品亚洲综合专区片高清久久久| 免费A级毛片在线播放不收费| 国产三级免费观看| 亚洲AV网站在线观看| 亚洲片国产一区一级在线观看| 亚洲毛片av日韩av无码| 久久久久无码专区亚洲av| 亚洲日本va在线视频观看| 亚洲AV无码久久精品蜜桃| 4444亚洲国产成人精品| 亚洲人成图片网站| 国产亚洲精品AAAA片APP|