﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-cAng^Er-随笔分类-|:Web View:|</title><link>http://www.blogjava.net/xiaosao/category/24831.html</link><description>不懂我的人 , 离不了我 , 该了解了解我 !而懂我的人 , 更离不了我 , 因为他们爱我 。</description><language>zh-cn</language><lastBuildDate>Thu, 16 Jun 2011 02:10:34 GMT</lastBuildDate><pubDate>Thu, 16 Jun 2011 02:10:34 GMT</pubDate><ttl>60</ttl><item><title>&lt;转&gt;标题栏新消息提示效果</title><link>http://www.blogjava.net/xiaosao/archive/2011/06/15/352379.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Wed, 15 Jun 2011 10:24:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/06/15/352379.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/352379.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/06/15/352379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/352379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/352379.html</trackback:ping><description><![CDATA[<p>标题栏新消息提示如图：</p>
<p sizcache="4" sizset="29"><a href="http://www.css88.com/wp-content/uploads/2011/01/titlr.gif" jquery1308132261125="32"><img class="alignnone size-full wp-image-2964" title="titlr" height="101" alt="" src="http://www.css88.com/wp-content/uploads/2011/01/titlr.gif" width="235" /></a></p>
<p>公司的项目中用到了这个新消息提示的效果，主要用于提示用户有新消息。具体实现代码如下：</p>
<div class="syntaxhighlighter  jscript" id="highlighter_75869">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>01</code></td>
<td class="content"><code class="jscript keyword">var</code> <code class="jscript plain">newMessageRemind={ </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>02</code></td>
<td class="content"><code class="jscript plain">_step: 0, </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>03</code></td>
<td class="content"><code class="jscript plain">_title: document.title, </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>04</code></td>
<td class="content"><code class="jscript plain">_timer: </code><code class="jscript keyword">null</code><code class="jscript plain">, </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>05</code></td>
<td class="content"><code class="jscript comments">//显示新消息提示 </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>06</code></td>
<td class="content"><code class="jscript plain">show:</code><code class="jscript keyword">function</code><code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>07</code></td>
<td class="content"><code class="jscript keyword">var</code> <code class="jscript plain">temps = newMessageRemind._title.replace(</code><code class="jscript string">"【　　　】"</code><code class="jscript plain">, </code><code class="jscript string">""</code><code class="jscript plain">).replace(</code><code class="jscript string">"【新消息】"</code><code class="jscript plain">, </code><code class="jscript string">""</code><code class="jscript plain">); </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>08</code></td>
<td class="content"><code class="jscript plain">newMessageRemind._timer = setTimeout(</code><code class="jscript keyword">function</code><code class="jscript plain">() { </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>09</code></td>
<td class="content"><code class="jscript plain">newMessageRemind.show(); </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>10</code></td>
<td class="content"><code class="jscript comments">//这里写Cookie操作 </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>11</code></td>
<td class="content"><code class="jscript plain">newMessageRemind._step++; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>12</code></td>
<td class="content"><code class="jscript keyword">if</code> <code class="jscript plain">(newMessageRemind._step == 3) { newMessageRemind._step = 1 }; </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>13</code></td>
<td class="content"><code class="jscript keyword">if</code> <code class="jscript plain">(newMessageRemind._step == 1) { document.title = </code><code class="jscript string">"【　　　】"</code> <code class="jscript plain">+ temps }; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>14</code></td>
<td class="content"><code class="jscript keyword">if</code> <code class="jscript plain">(newMessageRemind._step == 2) { document.title = </code><code class="jscript string">"【新消息】"</code> <code class="jscript plain">+ temps }; </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>15</code></td>
<td class="content"><code class="jscript plain">}, 800); </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>16</code></td>
<td class="content"><code class="jscript keyword">return</code> <code class="jscript plain">[newMessageRemind._timer, newMessageRemind._title]; </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>17</code></td>
<td class="content"><code class="jscript plain">}, </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>18</code></td>
<td class="content"><code class="jscript comments">//取消新消息提示 </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>19</code></td>
<td class="content"><code class="jscript plain">clear: </code><code class="jscript keyword">function</code><code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>20</code></td>
<td class="content"><code class="jscript plain">clearTimeout(newMessageRemind._timer ); </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>21</code></td>
<td class="content"><code class="jscript plain">document.title = newMessageRemind._title; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>22</code></td>
<td class="content"><code class="jscript comments">//这里写Cookie操作 </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>23</code></td>
<td class="content"><code class="jscript plain">} </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>24</code></td>
<td class="content"><code class="spaces">&nbsp;</code>&nbsp;</td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>25</code></td>
<td class="content"><code class="jscript plain">};</code></td></tr></tbody></table></div></div></div>
<p>调用显示新消息提示：newMessageRemind.show();</p>
<p>调用取消新消息提示：newMessageRemind.clear();</p>
<p sizcache="4" sizset="30">查看demo：<a href="http://www.css88.com/demo/newMessageRemind/" jquery1308132261125="33">http://www.css88.com/demo/newMessageRemind/</a></p>
<p><strong>另：单纯的这个代码会出现这么一个问题：</strong><br />就是当你打开一个站点很多张页面的时候，如过有新消息，那么所有页面都会不停的闪，当你查看消息后其他页面仍会提示。</p>
<p>我们公司是通过使用Cookie的方式解决的，当查看新消息后所有标题闪动的页面将全部取消提示。</p>
<p class="announce" sizcache="4" sizset="31"><span style="font-weight: bold; text-shadow: 0 1px 0 #ddd">声明:</span> 本文采用 <a title="署名-非商业性使用-相同方式共享" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="nofollow" jquery1308132261125="34">BY-NC-SA</a> 协议进行授权 | <a href="http://www.css88.com/" jquery1308132261125="35">WEB前端开发</a><br />转载请注明转自《<a title="标题栏新消息提示效果" href="http://www.css88.com/archives/2963" rel="bookmark" jquery1308132261125="36">标题栏新消息提示效果</a>》</p><img src ="http://www.blogjava.net/xiaosao/aggbug/352379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-06-15 18:24 <a href="http://www.blogjava.net/xiaosao/archive/2011/06/15/352379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;return闭包函数</title><link>http://www.blogjava.net/xiaosao/archive/2011/06/15/352374.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Wed, 15 Jun 2011 09:56:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/06/15/352374.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/352374.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/06/15/352374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/352374.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/352374.html</trackback:ping><description><![CDATA[<p><strong>高手绕道！</strong>这跟闭包本身没什么大的关系，也不知道怎么取标题，随便凑了个数，望见谅！</p>
<p>今天一个刚学js的朋友给了我一段代码问为什么方法不执行，代码如下：</p>
<div class="syntaxhighlighter  jscript" id="highlighter_371156">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="jscript keyword">function</code>&nbsp; <code class="jscript plain">makefunc(x)&nbsp; { </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code> <code class="jscript keyword">function</code> <code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code>&nbsp; <code class="jscript plain">x; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">} </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>5</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">} </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>6</code></td>
<td class="content"><code class="jscript plain">alert(makefunc(0));</code></td></tr></tbody></table></div></div></div>
<p>其实不是不执行，只是朋友的意思这里alert出来的应该是&#8220;0&#8221;，而不是function (){return x;}。<br />不是脚本写错了，只是没搞懂return，从当前函数退出，并从那个函数返回一个值。如果返回的是一个函数，那么返回的也是函数本身。<br />可以这样修改上面的代码,就是alert(makefunc(0)())：</p>
<div class="syntaxhighlighter  jscript" id="highlighter_488489">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="jscript keyword">function</code>&nbsp; <code class="jscript plain">makefunc(x)&nbsp; { </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code> <code class="jscript plain">(</code><code class="jscript keyword">function</code> <code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code>&nbsp; <code class="jscript plain">x; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">})(); </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>5</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">} </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>6</code></td>
<td class="content"><code class="jscript plain">alert(makefunc(0)());</code></td></tr></tbody></table></div></div></div>
<p>如果要返回函数执行的结果那么首先要让这个函数执行，例如：</p>
<div class="syntaxhighlighter  jscript" id="highlighter_887566">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="jscript keyword">function</code>&nbsp; <code class="jscript plain">makefunc(x)&nbsp; { </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code> <code class="jscript plain">(</code><code class="jscript keyword">function</code> <code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code>&nbsp; <code class="jscript plain">x; </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">})(); </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>5</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">} </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>6</code></td>
<td class="content"><code class="jscript plain">alert(makefunc(0));</code></td></tr></tbody></table></div></div></div>
<p>这里有一个匿名函数，</p>
<div class="syntaxhighlighter  jscript" id="highlighter_575274">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="jscript plain">(</code><code class="jscript keyword">function</code> <code class="jscript plain">(){ </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript keyword">return</code>&nbsp; <code class="jscript plain">x; </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">})();</code></td></tr></tbody></table></div></div></div>
<p>在第一个括号内是匿名函数，第二个括号用于调用该匿名函数，您可以在第二个括号中传入所需的参数。例如：</p>
<div class="syntaxhighlighter  jscript" id="highlighter_301279">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="jscript plain">(</code><code class="jscript keyword">function</code><code class="jscript plain">( x , y){ </code></td></tr></tbody></table></div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="jscript plain">alert( x + y); </code></td></tr></tbody></table></div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="jscript plain">})(2 ,3 );</code></td></tr></tbody></table></div></div></div>
<p class="announce" sizcache="4" sizset="29"><span style="font-weight: bold; text-shadow: 0 1px 0 #ddd">声明:</span> 本文采用 <a title="署名-非商业性使用-相同方式共享" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="nofollow" jquery1308131317516="33">BY-NC-SA</a> 协议进行授权 | <a href="http://www.css88.com/" jquery1308131317516="34">WEB前端开发</a><br />转载请注明转自《<a title="return闭包函数" href="http://www.css88.com/archives/3738" rel="bookmark" jquery1308131317516="35">return闭包函数</a>》</p><img src ="http://www.blogjava.net/xiaosao/aggbug/352374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-06-15 17:56 <a href="http://www.blogjava.net/xiaosao/archive/2011/06/15/352374.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;页面翻转,让你的页面旋转一下</title><link>http://www.blogjava.net/xiaosao/archive/2011/06/10/352061.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Fri, 10 Jun 2011 10:08:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/06/10/352061.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/352061.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/06/10/352061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/352061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/352061.html</trackback:ping><description><![CDATA[<p>n.styleSheet.cssText = r;这个写法是亮点,动态载入过css,但从来都没这么载入过,在公司的项目中试了下,不一样的感觉.很搞怪.<br /><br />原帖:<a href="http://www.webchina110.cn/?p=328">http://www.webchina110.cn/?p=328</a><br />今天网上闲逛，看到克军写了一句话，恶搞一下。凭着这句话的吸引力，我点进去了。</p>
<p>哇，居然页面倒过来了，页头和页脚翻了一个根头，其实我以前还在想，背景图片是不是可以这样呢，今天至少在页面上看到了。</p>
<p>真好奇，立即启动火狐看了一下，哈哈，找到原因了，马上在试了一下IE，搞定，也OK，哈哈，如果不知道的同学们，我想你们也想知道这是怎么回事吧。</p>
<p>其实就是这个东东在做怪。。。</p>
<p><span style="font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, 'Courier New', Courier, monospace; white-space: pre; background-color: #ffffff">-moz-transform: rotate(180deg);</span></p>
<p><span style="font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, 'Courier New', Courier, monospace; white-space: pre; background-color: #ffffff">-webkit-transform: rotate(180deg); </span></p>
<p><span style="font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, 'Courier New', Courier, monospace; white-space: pre; background-color: #ffffff">filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);</span></p>
<p><span style="font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, 'Courier New', Courier, monospace; white-space: pre; background-color: #ffffff">三行代码，分别用来支持moz，webkit和IE的内核的浏览器。</span></p>
<p><span style="font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, 'Courier New', Courier, monospace; white-space: pre; background-color: #ffffff">我们看看克军是怎么做的呢，他使用了JS，让代码立即执行的方式。。给页面增加一个&lt;sytle&gt;和相应的样式，并且为body增加相应的class.下面我将他的js代码贴出来。嘿嘿！</span></p><pre id="line534"><span id="firefox-tidy-id" style="background-color: #ddddff">;(function(){<br />var d = document, n = d.createElement('style'), r='.flip { -moz-transform: rotate(180deg);-webkit-transform: rotate(180deg);filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); }';<br />n.type = 'text/css';<br />if(n.styleSheet)<br />{<br />&nbsp;n.styleSheet.cssText = r;<br />}<br />else<br />{<br />&nbsp;n.appendChild(d.createTextNode(r))<br />}<br />d.getElementsByTagName('head')[0].appendChild(n);<br />d.body.className += ' flip';<br />}</span></pre>
<p>为了使用document方便，他把document传给了变量d,建立了一个style标签为变量n，把样式的内容传给<br />了变量r，克军的命名都很简洁。<br />在为这个n其实就是style标签了type这个属性。<br />下面是进行判断页面中style有不有属性，如果没有，直接将r，也就是样式的内容放入n中。<br />如果有，就得使用建立文本并且追加的方式。<br />我不知道我的解释对不对哈，反正大概意思就是这样的，欢迎指正。<br />一切准备就绪以后，就将n添加到head中去，在将class增加到body上，这样页面一加载。。。。你的页面就会被旋转180度，当然你可以旋转90度，10度，数字是可以调整的哟。</p>
<p><strong>2010.09.30 &nbsp;今天在使用过程中，最后发现，原来ie只支持4个值，分别旋转值可以是1，2，3或4。这些数字分别代表90，180，270，或360度旋转。<br /></strong></p><img src ="http://www.blogjava.net/xiaosao/aggbug/352061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-06-10 18:08 <a href="http://www.blogjava.net/xiaosao/archive/2011/06/10/352061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;webkit webApp 开发技术要点总结</title><link>http://www.blogjava.net/xiaosao/archive/2011/06/09/351982.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Thu, 09 Jun 2011 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/06/09/351982.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/351982.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/06/09/351982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/351982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/351982.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 原文地址：http://www.cnblogs.com/pifoo/archive/2011/05/28/webkit-webapp.html如果你是一名前端er,又想在移动设备上开发出自己的应用，那怎么实现呢？幸好，webkit内核的浏览器能帮助我们完成这一切。接触 webkit webApp的开发已经有一段时间了，现把一些技巧分享给大家 ：1. viewport：也就是可视区域。对于桌面浏览器...&nbsp;&nbsp;<a href='http://www.blogjava.net/xiaosao/archive/2011/06/09/351982.html'>阅读全文</a><img src ="http://www.blogjava.net/xiaosao/aggbug/351982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-06-09 14:24 <a href="http://www.blogjava.net/xiaosao/archive/2011/06/09/351982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;Jquery插件Thickbox的使用总结及自定义设置 </title><link>http://www.blogjava.net/xiaosao/archive/2011/04/26/349052.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Tue, 26 Apr 2011 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/04/26/349052.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/349052.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/04/26/349052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/349052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/349052.html</trackback:ping><description><![CDATA[http://www.cnblogs.com/dupeng0811/archive/2011/03/11/1981270.html<br />
<div id="cnblogs_post_body">
<p>ThickBox运行需要的文件</p>
<p>官方下载：</p>
<p class="csharpcode">Download <a href="http://jquery.com/demo/thickbox/thickbox-code/thickbox.js">thickbox.js</a> or <a href="http://jquery.com/demo/thickbox/thickbox-code/thickbox-compressed.js">thickbox-compressed.js</a>, <a href="http://jquery.com/demo/thickbox/thickbox-code/thickbox.css">ThickBox.css</a>, and the loading graphic (<a href="http://jquery.com/demo/thickbox/images/loadingAnimation.gif">loadingAnimation.gif</a>) to your local machine (or cut and paste the code from the tabs). Along with these three files, a copy of the <a href="http://jquery.com/src/jquery-latest.js">jQuery JavaScript library</a> is needed. For this site, and ThickBox, I am using the <a href="http://jquery.com/src/jquery-latest.pack.js">compressed version of jQuery.</a></p>
<p>首先在 HTML 文件的 head中导入jquery.js 和thickbox.js文件，导入 thickbox.css 文件;并且jquery.js 文件放在前面：</p>
<pre class="csharpcode"><span style="color: #0000ff">&lt;</span><span style="color: #800000">script</span> <span style="color: #ff0000">src</span>=<span style="color: #0000ff">"../Scripts/jquery-latest.pack.js"</span> <span style="color: #ff0000">mce_src</span>=<span style="color: #0000ff">"Scripts/jquery-latest.pack.js"</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"text/javascript"</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">script</span> <span style="color: #ff0000">src</span>=<span style="color: #0000ff">"../Scripts/thickbox.js"</span> <span style="color: #ff0000">mce_src</span>=<span style="color: #0000ff">"Scripts/thickbox.js"</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"text/javascript"</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">link</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"../Styles/thickbox.css"</span> <span style="color: #ff0000">mce_href</span>=<span style="color: #0000ff">"Styles/thickbox.css"</span> <span style="color: #ff0000">rel</span>=<span style="color: #0000ff">"stylesheet"</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"text/css"</span> <span style="color: #0000ff">/&gt;</span>  </pre>
<p>最后你只要给元素添加 class=&#8221;thickbox&#8221; 属性就可以开始用 thickbox</p>
<p>实现了一张图片的弹出展示功能：</p>
<pre class="csharpcode"><span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"&#8221;bg.jpg&#8221;"</span> <span style="color: #ff0000">mce_href</span>=<span style="color: #0000ff">"&#8221;bg.jpg&#8221;"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">&#8221;thickbox&#8221;</span> <span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">img</span> <span style="color: #ff0000">src</span>=<span style="color: #0000ff">"&#8221;bg.jpg&#8221;"</span> <span style="color: #ff0000">mce_src</span>=<span style="color: #0000ff">"&#8221;bg.jpg&#8221;"</span> <span style="color: #ff0000">alt</span>=<span style="color: #0000ff">&#8221;图片&#8221;</span><span style="color: #0000ff">/&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">a</span><span style="color: #0000ff">&gt;</span>
//只需要指定图片的class为thickbox</pre>
弹出框使用方法：
<pre class="csharpcode"><span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"Default.aspx?keepThis=true&amp;TB_iframe=true&amp;height=400&amp;width=500"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"主页"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span> &lt;/<span style="color: #ff0000">a</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">onclick</span>=<span style="color: #0000ff">"&lt;web.path:path/&gt;/bannedUserList!unBannedUserList?height=400&amp;width=800&amp;inlineId=myOnPageContent"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"弹出层"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"button"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"Ban Another"</span> <span style="color: #0000ff">/&gt;</span>
//内嵌内容
<span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">alt</span>=<span style="color: #0000ff">"#TB_inline?height=300&amp;width=400&amp;inlineId=myOnPageContent"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"标题"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"button"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"Show"</span> <span style="color: #0000ff">/&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"#TB_inline?height=155&amp;width=300&amp;inlineId=hiddenModalContent&amp;modal=true"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span><span style="color: #0000ff">&gt;</span>显示隐藏内容a&gt;
//遮罩层
URL后面加?KeepThis=true&amp;TB_iframe=true&amp;height=400&amp;width=600
参数字符串中加 modal=true
?KeepThis=true&amp;TB_iframe=true&amp;height=400&amp;width=600&amp;modal=true
这样当关闭ThickBox时会调用ThickBox iframe (self.parent.tb_remove())内部的一个tb_remove()函数
所有其他参数字符都必须在TB_iframe 参数之前。URL中所有"TB" 之后的将被移除。
<span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"index.html?keepThis=true&amp;TB_iframe=true&amp;height=250&amp;width=400"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"标题"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span><span style="color: #0000ff">&gt;</span>打开一个页面<span style="color: #0000ff">&lt;/</span><span style="color: #800000">a</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"index.html?keepThis=true&amp;TB_iframe=true&amp;height=300&amp;width=500"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"标题"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span><span style="color: #0000ff">&gt;</span>打开一个页面<span style="color: #0000ff">&lt;/</span><span style="color: #800000">a</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=<span style="color: #0000ff">"index.html?placeValuesBeforeTB_=savedValues&amp;TB_iframe=true&amp;height=200&amp;width=300&amp;modal=true"</span> <span style="color: #ff0000">title</span>=<span style="color: #0000ff">"标题"</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">"thickbox"</span><span style="color: #0000ff">&gt;</span>打开一个页面<span style="color: #0000ff">&lt;/</span><span style="color: #800000">a</span><span style="color: #0000ff">&gt;</span>  </pre>
<p>&nbsp;</p>
<p>自定义设置：</p>
<p>1、弹出窗口(div)右上角的关闭按钮为显示为"close or esc key"，而不是中文的; 如果想把它变成[X]或"关闭"应该怎么来办呢？</p>
<pre class="csharpcode">将thickbox.js文件打开，查找关键字"<span style="color: #8b0000">or esc key</span>"，将其删除，并将前面的close更改为[X]或"<span style="color: #8b0000">关闭</span>"，然后把文件另存为UTF-8格式，如果不保存为UTF-8的话，将会出现乱码。</pre>
2、thickbox 弹出层的遮住层透明度修改
<p>打开thickbox.css查找.TB_overlayBG 进行更改</p>
<pre class="csharpcode">.<span style="color: #800000">TB</span>_<span style="color: #800000">overlayBG</span> {
<span style="color: #ff0000">background-color</span>:<span style="color: #0000ff">#000</span>;
<span style="color: #ff0000">filter</span>:<span style="color: #0000ff">alpha(opacity=75)</span>;
<span style="color: #ff0000">-moz-opacity</span>: <span style="color: #0000ff">0.75</span>;
<span style="color: #ff0000">opacity</span>: <span style="color: #0000ff">0.75</span>;
}</pre>
<p>3、关闭层：如果我们需要自己添加一个关闭按钮或者图片可以使用：</p>
<pre class="csharpcode">onclick="self.parent.tb_remove();"  </pre>
<p>4、关闭层刷新父页面,修改关闭方法 ：</p>
<pre class="csharpcode"><span style="color: #0000ff">function</span> tb_remove() {
$("<span style="color: #8b0000">#TB_imageOff</span>").unbind("<span style="color: #8b0000">click</span>");
$("<span style="color: #8b0000">#TB_closeWindowButton</span>").unbind("<span style="color: #8b0000">click</span>");
$("<span style="color: #8b0000">#TB_window</span>").fadeOut("<span style="color: #8b0000">fast</span>",<span style="color: #0000ff">function</span>(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("<span style="color: #8b0000">unload</span>").unbind().remove();});
$("<span style="color: #8b0000">#TB_load</span>").remove();
<span style="color: #0000ff">if</span> (<span style="color: #0000ff">typeof</span> <span style="color: #0000ff">document</span>.body.style.maxHeight == "<span style="color: #8b0000">undefined</span>") {<span style="color: #008000">//if IE 6</span>
$("<span style="color: #8b0000">body</span>","<span style="color: #8b0000">html</span>").css({height: "<span style="color: #8b0000">auto</span>", width: "<span style="color: #8b0000">auto</span>"});
$("<span style="color: #8b0000">html</span>").css("<span style="color: #8b0000">overflow</span>","");
}
<span style="color: #0000ff">document</span>.onkeydown = "";
<span style="color: #0000ff">document</span>.onkeyup = "";
<span style="color: #008000">//刷新父页面，未指定</span>
<span style="color: #0000ff">window</span>.<span style="color: #0000ff">location</span>.reload();
<span style="color: #0000ff">return</span> <span style="color: #0000ff">false</span>;
}</pre>
<p>5、thickbox插件默认情况是点击灰色的遮罩层就会关闭取消</p>
<pre class="csharpcode">把两个$("<span style="color: #8b0000">#TB_overlay</span>").click(tb_remove);去掉就可以取消掉</pre>
<p>6、updatepanel回发后thickbox失效的解决方法</p>
<pre class="csharpcode">只需把以下代码粘贴至页面中就OK了。
&lt;script type="<span style="color: #8b0000">text/javascript</span>" language="<span style="color: #8b0000">javascript</span>"&gt;
<span style="color: #0000ff">function</span> pageLoad()
{
<span style="color: #0000ff">var</span> isAsyncPostback = Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();
<span style="color: #0000ff">if</span> (isAsyncPostback)
{
tb_init('a.thickbox, area.thickbox, input.thickbox');
}
}
&lt;/script&gt;</pre>
</div>
<img src ="http://www.blogjava.net/xiaosao/aggbug/349052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-04-26 16:59 <a href="http://www.blogjava.net/xiaosao/archive/2011/04/26/349052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;ThickBox 3.1参数详解</title><link>http://www.blogjava.net/xiaosao/archive/2011/04/26/349046.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Tue, 26 Apr 2011 08:15:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2011/04/26/349046.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/349046.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2011/04/26/349046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/349046.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/349046.html</trackback:ping><description><![CDATA[http://www.cookseo.com/blog/web/ThickBox/<br />
前几天写了一篇关于<strong>ThickBox 3.1</strong>的文章：[<a href="http://www.cookseo.com/blog/css/ThickBox3.1/" target="_blank">ThickBox 3.1完美修正版下载</a>]，今天在使用这个东西的时候发现里面有许多参数没有详细解释，今天抽空整理出来，现和大家分享一下：<br />
<br />
先说几个参数：<br />
class="thickbox" 调用特效；<br />
height 打开页面的高度；<br />
width 打开页面的宽度；<br />
title="Iframe(Auto Hide)" title的内容；<br />
keepThis=true TB_iframe=true 这两个参数没搞明白什么意思，但通过框架来调用页面时不可缺少；<br />
#TB_inline 调用当前页面的层；<br />
inlineId 当前页面层的ID；<br />
modal=true 表示禁用title，去掉即可显示title及可自动关闭；<br />
<br />
1、调用框架，固定宽度和高度，超出显示滚动条 Iframe(auto hide):<br />
<p class="code"><code>&lt;a&nbsp;href="http://www.cookseo.com?keepThis=true&amp;TB_iframe=true&amp;height=500&amp;width=820"&nbsp;title="ThickBox&nbsp;3.1:调用框架，固定宽度和高度，超出显示滚动条"&nbsp;class="thickbox"&gt;OECSPACE&lt;/a&gt;</code></p>
<br />
2、打开页面，固定宽度和高度，无滚动条，禁用title, fixed width, fixed height<br />
<p class="code"><code>&lt;a&nbsp;href="boxs.html?keepThis=true&amp;TB_iframe=true&amp;height=100&amp;width=220&amp;modal=true"&nbsp;title="ThickBox&nbsp;3.1:modal=true表示禁用title，去掉即可显示title及可自动关闭"&nbsp;class="thickbox"&gt;Open&nbsp;iFrame&nbsp;Modal&lt;/a&gt;</code></p>
<br />
3、Ajax载入，自动宽度和高度，禁用title，页面无法查看源代码<br />
<p class="code"><code>&lt;a&nbsp;href="box.html?height=350&amp;width=350&amp;modal=true"&nbsp;title="ThickBox&nbsp;3.1:Ajax载入，页面无法查看源代码"&nbsp;class="thickbox"&gt;Example&lt;/a&gt;</code></p>
<br />
4、链接显示隐藏的层，层存在于页面中。<br />
<p class="code"><code>&lt;a&nbsp;href="#TB_inline?height=200&amp;width=300&amp;inlineId=hiddenModalContent&amp;modal=true"&nbsp;title="ThickBox&nbsp;3.1:链接显示隐藏层"&nbsp;class="thickbox"&gt;Show&nbsp;hidden&nbsp;modal&nbsp;content&lt;/a&gt;<br />
<br />
&lt;div&nbsp;id="hiddenModalContent"&nbsp;style="display:none"&gt;<br />
&lt;p&gt;ThickBox&nbsp;hidden&nbsp;modal&nbsp;content.&nbsp;Click&nbsp;to&nbsp;hide.&lt;/p&gt;<br />
&lt;p&nbsp;style="text-align:center"&gt;&lt;input&nbsp;type="submit"&nbsp;value="&nbsp;O&nbsp;K&nbsp;"&nbsp;onclick="tb_remove()"&nbsp;/&gt;&lt;/p&gt;<br />
&lt;/div&gt;</code></p>
<br />
5、按钮显示隐藏的层，层存在于页面中。<br />
<p class="code"><code>&lt;input&nbsp;alt="#TB_inline?height=150&amp;width=400&amp;inlineId=myOnPageContent&nbsp;"&nbsp;title="ThickBox&nbsp;3.1:按钮显示隐藏层"&nbsp;class="thickbox"&nbsp;type="button"&nbsp;value="Show"&nbsp;/&gt;<br />
<br />
&lt;div&nbsp;id="myOnPageContent"&nbsp;style="display:none"&gt;<br />
&lt;p&gt;ThickBox&nbsp;hidden&nbsp;modal&nbsp;content.Auto&nbsp;Hide.&lt;/p&gt;<br />
&lt;/div&gt;</code></p>
<br />
6、单张图片调用<br />
<p class="code"><code>&lt;a&nbsp;href="images/plant1.jpg"&nbsp;title="plant"&nbsp;class="thickbox"&gt;&lt;img&nbsp;src="images/plant1_t.jpg"&nbsp;alt="ThickBox&nbsp;3.1"&nbsp;/&gt;&lt;/a&gt;</code></p>
<br />
7、多张图片调用<br />
<p class="code"><code>&lt;a&nbsp;href="images/plant1.jpg"&nbsp;title="plant1"&nbsp;class="thickbox"&nbsp;rel="gallery-plants"&gt;&lt;img&nbsp;src="images/plant1_t.jpg"&nbsp;alt="ThickBox&nbsp;3.1&nbsp;1"&nbsp;/&gt;&lt;/a&gt;<br />
&lt;a&nbsp;href="images/plant2.jpg"&nbsp;title="plant2"&nbsp;class="thickbox"&nbsp;rel="gallery-plants"&gt;&lt;img&nbsp;src="images/plant2_t.jpg"&nbsp;alt="ThickBox&nbsp;3.1&nbsp;2"&nbsp;/&gt;&lt;/a&gt;<br />
&lt;a&nbsp;href="images/plant3.jpg"&nbsp;title="plant3"&nbsp;class="thickbox"&nbsp;rel="gallery-plants"&gt;&lt;img&nbsp;src="images/plant3_t.jpg"&nbsp;alt="ThickBox&nbsp;3.1&nbsp;3"&nbsp;/&gt;&lt;/a&gt;</code></p>
<br />
另外，如果不想点击图片关闭的话，找到thickbox.js，到128行，把下面的代码：<br />
<p class="code"><code>$("#TB_window").append("&lt;a&nbsp;href=''&nbsp;id='TB_ImageOff'&nbsp;title='Close'&gt;&lt;img&nbsp;id='TB_Image'&nbsp;src='"+url+"'&nbsp;width='"+imageWidth+"'&nbsp;height='"+imageHeight+"'&nbsp;alt='"+caption+"'/&gt;&lt;/a&gt;"&nbsp;+&nbsp;"&lt;div&nbsp;id='TB_caption'&gt;"+caption+"&lt;div&nbsp;id='TB_secondLine'&gt;"&nbsp;+&nbsp;TB_imageCount&nbsp;+&nbsp;TB_PrevHTML&nbsp;+&nbsp;TB_NextHTML&nbsp;+&nbsp;"&lt;/div&gt;&lt;/div&gt;&lt;div&nbsp;id='TB_closeWindow'&gt;&lt;a&nbsp;href='#'&nbsp;id='TB_closeWindowButton'&nbsp;title='Close'&gt;close&lt;/a&gt;&nbsp;or&nbsp;Esc&nbsp;Key&lt;/div&gt;");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</code></p>
改成：<br />
<p class="code"><code>$("#TB_window").append("&lt;img&nbsp;id='TB_Image'&nbsp;src='"+url+"'&nbsp;width='"+imageWidth+"'&nbsp;height='"+imageHeight+"'&nbsp;alt='"+caption+"'/&gt;"&nbsp;+&nbsp;"&lt;div&nbsp;id='TB_caption'&gt;"+caption+"&lt;div&nbsp;id='TB_secondLine'&gt;"&nbsp;+&nbsp;TB_imageCount&nbsp;+&nbsp;TB_PrevHTML&nbsp;+&nbsp;TB_NextHTML&nbsp;+&nbsp;"&lt;/div&gt;&lt;/div&gt;&lt;div&nbsp;id='TB_closeWindow'&gt;&lt;a&nbsp;href='#'&nbsp;id='TB_closeWindowButton'&nbsp;title='Close'&gt;close&lt;/a&gt;&nbsp;or&nbsp;Esc&nbsp;Key&lt;/div&gt;");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</code></p>
即可，说白了就是把链接去掉。
<img src ="http://www.blogjava.net/xiaosao/aggbug/349046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2011-04-26 16:15 <a href="http://www.blogjava.net/xiaosao/archive/2011/04/26/349046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在linux下配置jdk1.5+tomcat+idea+svn(二)</title><link>http://www.blogjava.net/xiaosao/archive/2006/10/08/73733.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Sun, 08 Oct 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2006/10/08/73733.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/73733.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2006/10/08/73733.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/73733.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/73733.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在linux下配置jdk1.5+tomcat+idea+svn(二)<br>接上:<br>三.安装,配置idea5.1.2:<br>下载:<br><a title=http://www.linuxeden.com/download/downfile2.php?softid=885 href="http://www.linuxeden.com/download/downfile2.php?softid=885">http://www.linuxeden.com/download/downfile2.php?softid=885</a><br>安装:<br>这个也是tar.gz的解压式的安装文件,我就不说了,参照二的方法安装就可以了~解压好后会出现一个idea-4267的文件夹~要说的是在进入到它的/bin后,执行./idea.sh时你也许会出现这样的提示信息:<br><font color=#009900>&nbsp;ERROR: cannot start IntelliJ IDEA.<br>&nbsp;No JDK found to run IDEA. Please validate either IDEA_JDK or JDK_HOME points to valid JDK installation<br>./idea.sh: line 56: /bin/java: 没有那个文件或目录<br>./idea.sh: line 56: exec: /bin/java: cannot execute: 没有那个文件或目录</font><br>呵呵~这个是因为idea要的是$JDK_HOME,而我配置的确实$JAVA_HOME<br>解决的方法有两个:<br>&nbsp;一是用vi去修改idea.sh文件,打开文件vi idea.sh,<br>在开头的部分放上下面这段代码:<br><font color=#663300>JDK_HOME=$JAVA_HOME</font><br>然后保存退出,在执行./idea.sh就可以了~<br>二是建一个空文档,写一个批处理文件~<br>在txt文档内写如如下的代码:<br><font color=#663300>export JDK_HOME=$JAVA_HOME<br>/home/xiaosao/tools/javabuilder/tools/idea-4267/bin/idea.sh</font><br>注意:/home/xiaosao/tools/javabuilder/tools/idea-4267/bin/idea.sh是我idea所在的目录~你则需要去改一下~<br>恩,idea这样就配置完成了~还有,破解,在Win下的破解码在linux一样可以用的~现在idea出6.0版了,那天下了一个,布局和5.1.2是一样的,但多了不少了功能,挺爽的~我现在在用6.0,破解没有,不好意思,我也在用试用码~嘎嘎我看网上对安装配置eclipse的文档特别多,我没用过eclipse,但也装了~,没出现什么需要特别注意的~<br>下载地址:<a href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2.1-200609210945/eclipse-SDK-3.2.1-linux-gtk.tar.gz">http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2.1-200609210945/eclipse-SDK-3.2.1-linux-gtk.tar.gz</a><br>另外告诉大家一个我觉得不错的网站,嘿嘿~学长们比我知道的早~<br><a title=http://www.linuxeden.com/ href="http://www.linuxeden.com/">http://www.linuxeden.com/</a><br>四.接下来就是安装配置svn了,版本控制器~<br>下载:我用的版本稳定版SVN1.32<a href="http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz">http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz</a><br>解压: <font color=#663300>tar zxvf subversion-1.3.2.tar.gz</font><br><br>依次输入./configure , make , make install 进行编译安装完成。<br><br>开启SVN服务：<font color=#663300>svnserve -d</font><br>检测服务是否开启：netstat -ntlp如果看到3690的端口正常开放了，证明SVN启动了。]<br>下面是机器上的端口显示:<br>Active Internet connections (only servers)<br>Proto Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID/Program name<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:32769&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2611/rpc.statd<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:111&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2591/portmap<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:113&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2827/xinetd<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 127.0.0.1:631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4860/cupsd<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 127.0.0.1:25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2846/sendmail: acce<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 :::3690&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5513/svnserve<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 :::22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2812/sshd<br>下面这个就是了:<br>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 :::3690&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5513/svnserve<br>好了,svn已经架起来了,我们可以使用它了,首先要建立一个版本库~命令如下:<br>建立项目命令：svnadmin create&nbsp; test &nbsp;&nbsp; test为版本库,你project的名字!<br>建立完毕后,进入test文件夹~,你就可以看到一个conf的文件夹~进入里面有两个文件passwd和svnserve.conf,用<br>vi去编辑svnserve.conf文件:<br>把文件里 <br>#[general]<br>### These options control access to the repository for unauthenticated<br>### and authenticated users.&nbsp; Valid values are "write", "read",<br>### and "none".&nbsp; The sample settings below are the defaults.<br>#anon-access = read<br>#auth-access = write<br>### The password-db option controls the location of the password<br>### database file.&nbsp; Unless you specify a path starting with a /,<br>### the file's location is relative to the conf directory.<br>### Uncomment the line below to use the default password file.<br>#password-db = passwd<br>### The authz-db option controls the location of the authorization<br>### rules for path-based access control.&nbsp; Unless you specify a path<br>### starting with a /, the file's location is relative to the conf<br>### directory.&nbsp; If you don't specify an authz-db, no path-based access<br>### control is done.<br>的下面这四段代码前面的#去掉~<br>#[general]<br>#anon-access = read<br>#auth-access = write<br>#password-db = passwd<br>接下来是通行证了<br>vi passwd<br><font color=#663300>[user]<br>your_name = your_password</font><br>这里设置的your_name是你的用户名，your_password是你的密码，这个是访问SVN必要的通行证。<br>我的是<br><font color=#663300>[user]<br>xiaosao = xiaosao</font><br>这样所由的准备工作就结束了,可以去使用svn了~<br>首次添加:<br>上传文件~先要进入到你的项目源代码文件夹，使用下面命令：<br><font color=#333300>svn import /home/xiaosao/Projects/test_idea file:///home/xiaosao/tools/javabuilder/SVN/test -m "xiaosao"</font><br>注:/home/xiaosao/Projects/test_idea,是我项目源代码文件的文件目录,<br>file:///home/xiaosao/tools/javabuilder/SVN/test则是我svn版本库的目录了~<br>checkout项目源代码:<br><font color=#993300>svn co file:///home/xiaosao/tools/javabuilder/SVN/test --username = xiaosao --password = xiaosao</font><br>这些只是在我本机上使用的,并没有涉及到从其他机器上import和co,所以co的目录是file:///home......并不是 /home......,也不是:svn://home....这个要记住~svn://则是跨机器之间的操作,我还没用过~如果你用了,则会出现<br>svn: 未知的主机名称&#8220;home&#8221; 这样的提示<br>如果是跨机器的,你可以尝试svn co http://127.0.0.1/home/xiaosao/tools/javabuilder/SVN/test --username = xiaosao --password = xiaosao<br>这样的操作,说一下,127.0.0.1是一个回环地址,也就我在本机上操作的地址,改成相应的其他主机的ip就可以了~另:查看主机名称的指令:hostname<br>把增加的svn文件添加入svn库：<br><font color=#663300>svn add file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao<br></font><br>提交文件：<br><font color=#663300>svn commit file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao</font><br>更新文件：<br><font color=#663300>svn update file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao</font><br>我暂时也就会这些了~不过这些可以解决一些小问题了~可以在linux下写web可以用版本控制了~<br>详悉的可以参照这个论坛<br>www.iusesvn.com<br>这个论坛我感觉是相当的不错~里面还有<br><a href="http://www.iusesvn.com/subversion/svnbook/1.1/"><span class=bold>Subversion中文手册1.1</span></a>呢<br><br><br>&nbsp;&nbsp; 说了这么多乱七八糟的~也不知道看的人看没看懂~放在这里以后忘记的时候可以查阅一下~<br>还有MySQL没有进行配置~,没有了数据库,东西是写不出来的~嘎嘎~继续努力~先配置MySQL,争取把oracle 9i系列的装上<br><br><br><br><br><br><br>
<img src ="http://www.blogjava.net/xiaosao/aggbug/73733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2006-10-08 11:20 <a href="http://www.blogjava.net/xiaosao/archive/2006/10/08/73733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在linux下配置jdk1.5+tomcat+idea+svn(一)</title><link>http://www.blogjava.net/xiaosao/archive/2006/10/08/73707.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Sun, 08 Oct 2006 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2006/10/08/73707.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/73707.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2006/10/08/73707.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/73707.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/73707.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=#009900 size=6>在linux下配置jdk1.5+tomcat+idea+svn(一)</font><br>&nbsp;&nbsp;&nbsp; 最近在用linux操作系统~感觉很有挑战性~无论是装软件还是 卸载软件都要指令~而且在windows下最常用的win+E都不听话了~当然,在linux下没有我的电脑这一项~<br>&nbsp;&nbsp;&nbsp; 我在linux下装了jdk1.5,tomcat,idea和svn,怎么说呢,刚上手linux,好多东西都是新的~把这些常用的东西配置下来挺不容易的,好像是爬过来的~把自己配置的方法和配置的时候应该注意的问题帖出来,供大家分享~也放这上面,以后忘了看一看~不罗嗦了~说正题 ~<br>&nbsp;&nbsp;&nbsp;<font color=#006600></font><font color=#333300 size=4>一.在linux下安装jdk1.5以及配置环境变量:</font><br>a.下载:<br>&nbsp;&nbsp;&nbsp; 在sun公司的网站就可以下的到安装文件,我用的rpm安装包,人家说是一种傻瓜式的安装文件~不过我现在挺喜欢的~可能是会的少的原因吧~<br>&nbsp;&nbsp;&nbsp; 下载地址：<a href="http://java.sun.com/j2se/1.5.0/download.jsp" target=_blank>http://java.sun.com/j2se/1.5.0/download.jsp</a><br>Linux RPM in self-extracting file (jdk-1_5_0_09-linux-i586-rpm.bin, 45.47 MB)<br>Linux self-extracting file (jdk-1_5_0_09-linux-i586.bin, 47.22 MB)<br>&nbsp;&nbsp;&nbsp; 我下的是jdk-1_5_0_09-linux-i586-rpm.bin,所以说安装也就是对此安装文件的配置~挺简单的,但憋了我好一阵子呢 ~Linux RPM in self-extracting file是一个把rpm安装包封装在压缩包内的二进制格式，在linux操作系统的终端下，进入到你下载的文件的上一级目录,给文件加上执行的权限 chmod a+x jdk-1_5_0_09-linux-i586-rpm.bin，然后./jdk-1_5_0_09-linux-i586-rpm.bin之后可以得到jdk- 1_5_0_09-linux-i586.rpm这个rpm包。<br>&nbsp;&nbsp;&nbsp; rpm安装后的默认目录是/etc/java,rpm的安装到此就结束了~后一个我没有在我机器上装过~所以在这里就不瞎掰了~<br>b.配置环境变量:<br>&nbsp;&nbsp;&nbsp; 1.我是在单用户下运行的jdk,我用的配置方法是网上所说的第一种~需要修改用户所对应的.bash_profile文件,打开终端,输入vi ~/.bash_profile,用vi编辑器编辑.bash_file文件<br>在开头的地方插入下面的代码:<br><font color=#33cc00><font color=#996600>export JAVA_HOME=/usr/java/jdk1.5.0_09<br>export CLASSPATH=.<br>export PATH=$JAVA_HOME/bin:$PATH&nbsp;</font>&nbsp;</font><br>然后保存文件，注销重新登陆之后在终端下输入java &#8211;version，如果出现一下信息则说明安装设置已经成功。<br>注意 export JAVA_HOME=/usr/java/jdk1.5.0_09里的jdk1.5.0_09,要和你所新下载的最新版本的jdk对应上,可以查看 java的下一级目录或者bin的上一级目录~呵呵,说起来大家或许会笑话我~我配置的时候就是卡到这里了~<br>马马虎虎的~在网上找了个文档了~把人家的代码放上了就以为可以好使呢~嘎嘎~<br>配置成功的信息:<br>java version "1.5.0_09"<br>Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b01)<br>Java HotSpot(TM) Client VM (build 1.5.0_09-b01, mixed mode, sharing)<br>&nbsp;&nbsp; 2.另一种是全局环境变量,注意,这个是需要root权限的,要不是不允许你修改修改/etc/profile文件的!<br>以超级用户登录的指令是在终端输入su,输入密码~就可以了 ~<br>在开头的地方添加一下代码:<br><font color=#996600>JAVA_HOME=/usr/java/jdk1.5.0<br></font><font class=f14 id=zoom color=#996600>PATH=$PATH:$JAVA_HOME/bin</font><font color=#996600><br>CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar<br>export PATH JAVA_HOME CLASSPATH</font><br>修改完成后保存,注消~查看配置是否安装成功~<br>可以用一下指令查看环境变量的配置情况:<br>echo $JAVA_HOME&nbsp;&nbsp;&nbsp; //查看jdk安装的根目录,我机器上的输出信息是:/usr/java/jdk1.5.0_09<br>echo $CLASSPATH&nbsp;&nbsp;&nbsp;&nbsp; //查看环境变量.信息是:<font class=f14 id=zoom color=#000000>usr/java/</font>jdk1.5.0_09<font class=f14 id=zoom color=#000000>/lib/dt.jar:/usr/</font>jdk1.5.0_09<font class=f14 id=zoom color=#000000>/lib/tools.jar<br>echo $PATH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //信息是:/usr/java/jdk1.5.0_09/bin:/usr/kerberos/bin:/usr/java/jdk1.5.0_09= /usr/java/jdk1.5.0_09/bin:/usr/local/bin:/usr/bin:/bin:<br>/usr/X11R6/bin:/home/xiaosao/bin<br>这样jdk在你机器上就安装完毕了~<br>我参考的文档有:<br></font><font class=f14 id=zoom color=#000000><a title=http://www.linuxsky.net/html/200604/2854.html href="http://www.linuxsky.net/html/200604/2854.html">http://www.linuxsky.net/html/200604/2854.html</a><br><a title=http://fanqiang.chinaunix.net/program/other/2006-07-14/4835.shtml href="http://fanqiang.chinaunix.net/program/other/2006-07-14/4835.shtml">http://fanqiang.chinaunix.net/program/other/2006-07-14/4835.shtml</a><br>供大家参考~<br><br></font>&nbsp;<font color=#333300>二.安装并配置tomcat.</font><br>下载:<br><a title=http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz href="http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz">http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz</a><br>安装:<br>&nbsp;&nbsp;&nbsp;&nbsp; 这个是tar.gz解压是的安装文件,下载好后,先进入到你下载的上一级目录~<br>&nbsp;&nbsp;&nbsp;&nbsp; 在终端给文件加上执行权限<br>&nbsp;&nbsp;&nbsp;&nbsp; chmod a+x apache-tomcat-5.5.20.tar.gz,然后解压这个文件<br>&nbsp;&nbsp;&nbsp;&nbsp; tar zxvf apache-tomcat-5.5.20.tar.gz<br>&nbsp;&nbsp;&nbsp;&nbsp; 这个比较简单,没什么好说的,但有一点是要注意的~在发布工程的时候有可能出现不能往&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20/webapps(这个是我的tomcat所在的目录)<br>目录拷贝文件的问题,这个问题是因为你在当前用户下没有权限往这里进行写操作~<br>你只要对这个文件进行权限控制就可以了~指令如下:<br>chmod -R uao=rwx /home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20<br>注意要把/home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20这个改成你自给所在的目录,并且执行这个操作是需要root权限了~<br>chmod 的具体的用法情参考:<br><a title=http://www.chinaunix.net/jh/7/240097.html href="http://www.chinaunix.net/jh/7/240097.html">http://www.chinaunix.net/jh/7/240097.html</a><br><font color=#333300>三.安装.配置idea5.1.2:</font><br>下面!<a href="http://www.blogjava.net/xiaosao/archive/2006/10/08/73733.html"><br>在linux下配置jdk1.5+tomcat+idea+svn(二)</a><br><br><br><br><br>
<img src ="http://www.blogjava.net/xiaosao/aggbug/73707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2006-10-08 09:59 <a href="http://www.blogjava.net/xiaosao/archive/2006/10/08/73707.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用webwork框架做upload的java读取代码</title><link>http://www.blogjava.net/xiaosao/archive/2006/05/11/45597.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Thu, 11 May 2006 01:43:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2006/05/11/45597.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/45597.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2006/05/11/45597.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/45597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/45597.html</trackback:ping><description><![CDATA[<p><font color=#008000 size=5>&nbsp;用webwork框架做upload的java读取代码</font> <br>&nbsp;&nbsp;&nbsp; 我的语言表达能力不是很好，说也许说不明白，可能给看的说得糊涂了，同样<br>这个对做上传得新手很有用，不啰嗦了，先写代码吧：一共4个地方要弄，<br>前台，后台，xwork和webwork.properties<br><font color=#000080><font size=5>前台：</font><br></font><font color=#000000>upload.jsp:<br></font>=================================================================<br><font color=#a52a2a>&lt;%--<br>&nbsp; Created by IntelliJ IDEA.<br>&nbsp; User: lvjiachun<br>&nbsp; Date: 2006-5-3<br>&nbsp; Time: 9:32:35<br>&nbsp; To change this template use File | Settings | File Templates.<br>--%&gt;<br>&lt;%@ page contentType="text/html;charset=utf-8" language="java" %&gt;<br>&lt;%@ taglib prefix="ww" uri="/webwork" %&gt;<br>&lt;html&gt;<br>&lt;head&gt;&lt;title&gt;upload&lt;/title&gt;&lt;/head&gt;<br>&lt;body&gt;&lt;p align="center"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;ww:form action="upload.action" name="upload" method="post" enctype="multipart/form-data"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:file name="file1" value="浏览" label="ReadFile"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:file name="file2" value="浏览" label="ReadFile"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:file name="file3" value="浏览" label="ReadFile"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:file name="file4" value="浏览" label="ReadFile"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:textfield name="model.fileURL" label="Road"/&gt;&nbsp; //指定上传得文件保存到哪里<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:submit/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/ww:form&gt;&lt;/p&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br></font>=======================================================================<br>upload-success.jsp<br>=======================================================================<br><font color=#a52a2a>&lt;%--<br>&nbsp; Created by IntelliJ IDEA.<br>&nbsp; User: lvjiachun<br>&nbsp; Date: 2006-5-3<br>&nbsp; Time: 9:38:04<br>&nbsp; To change this template use File | Settings | File Templates.<br>--%&gt;<br>&lt;%@ page contentType="text/html;charset=utf-8" language="java" %&gt;<br>&lt;%@ taglib prefix="ww" uri="/webwork" %&gt;<br>&lt;html&gt;<br>&lt;head&gt;&lt;title&gt;upload-success&lt;/title&gt;&lt;/head&gt;</font></p>
<p><font color=#a52a2a>&lt;body&gt;<br>&lt;p align="center"&gt;<br>&nbsp;&nbsp;&nbsp; 你已经上传成功，<br>&nbsp;&nbsp;&nbsp; &lt;a href="upload.jsp"&gt;请返回&lt;/a&gt;<br>&lt;/p&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br></font>========================================================================<br><font color=#000080 size=5>后台：</font>一共需要三个4个java文件<br>1.&nbsp; &lt;FileMes&gt;<br><font color=#a52a2a>package upload.until;</font></p>
<p><font color=#a52a2a>/**<br>&nbsp;* Created by IntelliJ IDEA.<br>&nbsp;* User: lvjiachun<br>&nbsp;* Date: 2006-5-3<br>&nbsp;* Time: 7:51:11<br>&nbsp;* To change this template use File | Settings | File Templates.<br>&nbsp;*/<br>public class FileMes {<br>&nbsp;&nbsp;&nbsp; private String fileName;</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String getFileName() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileName;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public void setFileName(String fileName) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileName = fileName;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String getFilePath() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return filePath;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public void setFilePath(String filePath) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.filePath = filePath;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; private String filePath;<br>}<br></font>2.&lt;FileSelect &gt;<br><font color=#a52a2a>package upload.until;</font></p>
<p><font color=#a52a2a>/**<br>&nbsp;* Created by IntelliJ IDEA.<br>&nbsp;* User: lvjiachun<br>&nbsp;* Date: 2006-5-3<br>&nbsp;* Time: 7:51:23<br>&nbsp;* To change this template use File | Settings | File Templates.<br>&nbsp;*/<br>public class FileSelect {<br>&nbsp;&nbsp;&nbsp; private String fileName;<br>&nbsp;&nbsp;&nbsp; private String fileURL;<br>&nbsp;&nbsp;&nbsp; private String type;</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String getFileName() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileName;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public void setFileName(String fileName) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileName = fileName;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String getFileURL() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileURL;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public void setFileURL(String fileURL) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileURL = fileURL;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String getType() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return type;<br>&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public void setType(String type) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.type = type;<br>&nbsp;&nbsp;&nbsp; }<br>}<br></font>3.&lt;UploadUntil &gt;<br><font color=#a52a2a>package upload.until;</font></p>
<p><font color=#a52a2a>import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper;<br>import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequest;<br>import com.opensymphony.webwork.ServletActionContext;</font> </p>
<p><font color=#a52a2a>import java.util.List;<br>import java.util.ArrayList;<br>import java.util.Enumeration;<br>import java.util.Calendar;<br>import java.io.*;</font> </p>
<p><font color=#a52a2a>/**<br>&nbsp;* Created by IntelliJ IDEA.<br>&nbsp;* User: lvjiachun<br>&nbsp;* Date: 2006-5-3<br>&nbsp;* Time: 7:51:00<br>&nbsp;* To change this template use File | Settings | File Templates.<br>&nbsp;*/<br>public class UploadUntil {<br>&nbsp;&nbsp;&nbsp; public static List&lt;FileMes&gt; Upload(String smallPath) throws IOException {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;FileMes&gt; fileMesList = new ArrayList&lt;FileMes&gt;();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String path = smallPath;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("PATH 2:" + path);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MultiPartRequestWrapper multiWrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (multiWrapper == null) return null;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enumeration e = multiWrapper.getFileNames();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0;<br>//===============================================================//<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //这个是单文件上传的代码；！！如果想做单文件上传，把注释掉的代码去掉就可以了<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (e.hasMoreElements()) {<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String inputValue = (String) e.nextElement();<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String contentType = multiWrapper.getContentType(inputValue);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String flie1 = multiWrapper.getFilesystemName(inputValue);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String fileName = flie1;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("FileName underfinded:" + fileName);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String savePath = path + fileName;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File file = multiWrapper.getFile(inputValue);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file != null) {<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream inStream = new FileInputStream(file.getPath());<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileMes fm = new FileMes();<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fm.setFileName(flie1);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("FileName:" + fm.getFileName());<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("SmallPath in UploadUntil.java" + smallPath);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fm.setFilePath(smallPath + fileName);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("FilePath:" + fm.getFilePath());<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fileMesList.add(fm);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("SavePath:" + savePath);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileOutputStream fs = new FileOutputStream(savePath);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[]buffer = new byte[1444];<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int length;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int bytesum = 0;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int byteread = 0;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((byteread = inStream.read(buffer)) != -1) {<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytesum += byteread;<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fs.write(buffer, 0, byteread);<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>//============================================================//<br>// 下面这个是多文件上传-------------------<br></font><font color=#a52a2a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (e.hasMoreElements()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String inputValue = (String) e.nextElement();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String contentType = multiWrapper.getContentType(inputValue);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String flie1 = multiWrapper.getFilesystemName(inputValue);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String fileName = Calendar.getInstance().getTime().getTime() + "-" + i + flie1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String savePath = path + fileName;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File file = multiWrapper.getFile(inputValue);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file != null) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream inStream = new FileInputStream(file.getPath()); //读入原文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileMes fm = new FileMes();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fm.setFileName(flie1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fm.setFilePath(smallPath + fileName);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fileMesList.add(fm);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileOutputStream fs = new FileOutputStream(savePath);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[1444];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int length;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int bytesum = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int byteread = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((byteread = inStream.read(buffer)) != -1) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytesum += byteread; //字节数 文件大小<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fs.write(buffer, 0, byteread);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>//==============================================================//<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inStream.close();&nbsp;&nbsp; //关闭输入流<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file.exists()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.delete();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; //如果上传的文件存在则将其删除；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileMesList;<br>&nbsp;&nbsp;&nbsp; }<br>}<br></font>4.也就是最后一个，action&lt;UploadfilesAction&gt;<br><font color=#a52a2a>package upload.fileupload;</font></p>
<p><font color=#a52a2a>import com.opensymphony.xwork.ActionSupport;<br>import com.opensymphony.xwork.Action;<br>import com.opensymphony.xwork.ModelDriven;<br>import upload.until.FileSelect;</font> </p>
<p><font color=#a52a2a>/**<br>&nbsp;* Created by IntelliJ IDEA.<br>&nbsp;* User:lvjiachun<br>&nbsp;* Date: 2006-5-3<br>&nbsp;* Time: 7:52:34<br>&nbsp;* To change this template use File | Settings | File Templates.<br>&nbsp;*/<br>public class UploadfilesAction extends ActionSupport implements Action, ModelDriven {<br>&nbsp;&nbsp;&nbsp; FileSelect fileMes = new FileSelect();</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; public String upload() throws Exception {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String smallPath = fileMes.getFileURL();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(smallPath+"xiaosao");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.io.File myFilePath = new java.io.File(smallPath);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (smallPath != null) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!myFilePath.exists()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myFilePath.mkdir();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("*******MaKe DIR!*********");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; upload.until.UploadUntil.Upload(smallPath);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return SUCCESS;</font> </p>
<p><font color=#a52a2a>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; public Object getModel() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileMes;&nbsp; //To change body of implemented methods use File | Settings | File Templates.<br>&nbsp;&nbsp;&nbsp; }<br>}<br></font>**********************************************************************<br><font color=#000080 size=5>xwork中</font><br><font color=#a52a2a>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br>&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "</font><a href="http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"><font color=#a52a2a>http://www.opensymphony.com/xwork/xwork-1.1.1.dtd</font></a><font color=#a52a2a>"&gt;<br>&lt;xwork&gt;<br>&nbsp;&nbsp;&nbsp; &lt;include file="webwork-default.xml"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;package name="upload" extends="webwork-default"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptors&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor name="upload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-stack name="uploadStack"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="upload"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="defaultStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptor-stack&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptors&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;default-interceptor-ref name="WSStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="upload" class="upload.fileupload.UploadfilesAction" method="upload"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="location"&gt;/upload/upload-success.jsp&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="uploadStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="model-driven"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/package&gt;<br>&lt;/xwork&gt;<br></font><font color=#000080 size=5>webwork.properties</font><br>在webwork.properties中要加上这段代码<br><font color=#a52a2a>webwork.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest<br>webwork.multipart.saveDir=d:\\&nbsp; #这个是上传文件的默认保存路径#<br><br></font>xiaosao：具体的解析过程不是我写的，是我工作室boss写的，我也没那个能力！具体怎么用<br>看代码就足够了，这个是我在做上传得时候用到的，开始做的时候没有任何思路，在网上找<br>也没找到，憋了半个月也没弄出来，用webwork可以得到上传得文件，但传得内容只有upload这<br>几个字(传txt时候),后来才清楚是要解析过程的，后台的前三段代码就是解析过程，我是个新<br>手，这个东西做的让我脑袋都大了，为了大家方便，发到这里，有需要的来看一下！代码是好<br>使得，需要自己认真调试！有什么不足给点意见<br></p>
<img src ="http://www.blogjava.net/xiaosao/aggbug/45597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2006-05-11 09:43 <a href="http://www.blogjava.net/xiaosao/archive/2006/05/11/45597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两个jsp页面通过xwork传数据的几个方式</title><link>http://www.blogjava.net/xiaosao/archive/2006/05/11/45590.html</link><dc:creator>cAng^Er</dc:creator><author>cAng^Er</author><pubDate>Thu, 11 May 2006 00:44:00 GMT</pubDate><guid>http://www.blogjava.net/xiaosao/archive/2006/05/11/45590.html</guid><wfw:comment>http://www.blogjava.net/xiaosao/comments/45590.html</wfw:comment><comments>http://www.blogjava.net/xiaosao/archive/2006/05/11/45590.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaosao/comments/commentRss/45590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaosao/services/trackbacks/45590.html</trackback:ping><description><![CDATA[<p>两个jsp页面通过xwork传数据的几个方式：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这几个方法是在做项目时用到的，记在这里，如果忘记了可以参考一下，大家如果感兴趣，也可以参考一下，我想对初学webwork的应该会有一些帮助，我做东西没太多的经验，可能有很多地方说的不对，写得时候也是按照自己的理解写上去的，例子里的代码，是我做东西时候的真实代码，也是可行的，主要是说明一下怎么做。<br>&nbsp;&nbsp;&nbsp; 起初属于无奈，因为不能经过后台连接数据库得到数据，即使能得到，也是很麻烦，很耗费时间，无奈通过xwork进行传值！现在发现挺好的一件事情，也许有弊端，但我的经验不足，暂时并没有发现，如果有什么不对的地方，希望大家给点意见，批评一下，呵呵，我是大一的学生！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.如果这个页面的数据要给下一个页面，且不经过java文件处理，可以用这个方法！<br>那是一个request的周期问题，因为在两个jsp界面通过xwork进行跳转，需要传相同的数据或者下一个界面要用到上一个jsp页面的数据时就可以像下面那样传值，要注意的是，两个jsp页面，在xwork跳转的时候不能经过java文件也就是不能让另一个java文件进行处理，如果在经过一个java文件，那么request存储的数据就会丢失！相反，request存储的数据就会存在。<br>例如，<br><font color=#006400>jsp：</font><br>&nbsp;&nbsp;<font color=#000080> &lt;c:url var="testContent" value="/admin/addcontent.action"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#a52a2a> &lt;c:param name="testId" value="${test.testId}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:param name="categoryId" value="${test.categoryId}"/&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/c:url&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href="${testContent}"&gt;添加&lt;/a&gt;<br></font><font color=#008000>xwork中：<br></font>&nbsp;&nbsp;<font color=#000080>&nbsp; &lt;action name="addcontent"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=#a52a2a>&lt;result&gt;/dream/admin/addcontent.jsp&lt;/result&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br></font>不需要做任何的处理，但要记住，不能经过后台！(也许可以经过后台，只要不进行存储数据就可以，但我没试过，因为那样就没有意义了！)<br><font color=#006400>另一个jsp（addcontent.jsp）：</font><br>&nbsp;<font color=#000080>&lt;ww:a href="admin/getTestList.action?model.category_id=<font color=#a52a2a>${param.categoryId}</font><font color=#000080>&amp;</font>id=<font color=#a52a2a>${param.categoryId}</font>" value="返回"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 返回<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ww:a&gt;<br>&lt;form action="admin/addTestContent.action" method="post" enctype="multipart/form-data"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="categoryId" value="<font color=#a52a2a>${param.categoryId}</font><font color=#000080>"&gt;<br></font>&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="content.testId" value="<font color=#a52a2a>${param.testId}</font><font color=#000080>"&gt;<br></font>&nbsp;&nbsp;&nbsp; &lt;table align="center"&gt;</font></p>
<p><br><font color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:textfield label="名称" name="content.contentName" value="" required="true"/&gt;</font> </p>
<p><font color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;上传文件&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="2"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file1"&gt;&lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file2"&gt;&lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file3"&gt;&lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file4"&gt;&lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file5"&gt; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;&lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:submit value="提交"&gt;&lt;/ww:submit&gt;</font> </p>
<p><font color=#000080>&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&lt;/form&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在另一个界面，用${param.category}得到，param指的是&lt;c:param&gt;标签[jstl] ，在xwork中对result可以不用做任何处理，只要告诉它下一个界面是什么就可以了！<br>其中：${param.categoryId}和${param.testId}是得到上个界面的值得！<br>&nbsp;&nbsp;&nbsp; 2. 如果在两个页面传值，中间经过了一个java文件，那么可以通过xwork进行传值，具体做法如果下<br><font color=#006400>jsp：<br></font>&nbsp;<font color=#000080>&lt;c:url var="testContent" value="/admin/select_Test_category.action"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:param name="<font color=#a52a2a>model.test_id</font>" value="${test.testId}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:param name="<font color=#a52a2a>model.category_id</font>" value="${test.categoryId}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/c:url&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href="${testContent}"&gt;编辑&lt;/a&gt;<br></font><font color=#006400>xwork中：</font><br><font color=#000080>&lt;action name="select_Test_category" class="com.cool.lvjiachun.Select_Test_categoryAction"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="dispatcher"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="location"&gt;/cool/lvjiachun/test_category.jsp&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="alone" type="dispatcher"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#a52a2a> &lt;param</font><font color=#a52a2a> name="location"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /cool/lvjiachun/editor_test_category.jsp?model.category_id=${model.category_id}&lt;/param&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="WSStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br></font>看一下result是怎么弄得吧，&#8220;?model.category_id=${model.category_id}&#8221;，${model.category_id}是第一个jsp&#8220;&lt;c:paramname="model.test_id"value="${test.testId}"/&gt;&#8221;<br>里的name，这样值在下一个界面就可以得到了<br><font color=#006400>下一个jsp，也就是editor_test_category.jsp，<br></font>&nbsp;<font color=#000080> &lt;ww:a href="admin/getTestList.action?model.category_id=<font color=#a52a2a>${model.category_id<font color=#000080><font color=#a52a2a>}</font><font color=#000080>&amp;</font>id=</font>${model.category_id}</font>" value="返回"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 返回<br>&nbsp;&nbsp;&nbsp; &lt;/ww:a&gt;<br></font>这样就可以了！<br>&nbsp; 3.如果要经过两个action，经过一个action后还要经过另一个action才能到下一个jsp，后一个action需要jsp界面的数据，那么可以用重定向redirect，这样就可以达到你想要的结果！（也可以不用，但要通过数据库在去查数据，这样很耗费时间，也麻烦）<br>例如：<br><font color=#006400>jsp：<br></font><font color=#000080>&lt;ww:form action="/admin/addTestCategory.action" method="post" validate="true"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:textfield label="添加分类" name="test.testName" required="true"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:submit value="添加"&gt;&lt;/ww:submit&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:url id="listlink" namespace="/admin" action="getTestList" method="getList"&gt;&lt;/ww:url&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:hidden name="<font color=#a52a2a>test.categoryId</font>" value="${param.id}"&gt;&lt;/ww:hidden&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/ww:form&gt;<br></font><font color=#006400>xwork中：<br></font><font color=#000080>&lt;action name="addTestCategory" class="com.dream.action.TestCategoryAction" method="insert"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;external-ref name="testcategoryDAO"&gt;testcategoryDAOProxy&lt;/external-ref&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="redirect"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="location"&gt;/admin/getTestList.action?id=<font color=#a52a2a>${test.categoryId}</font><font color=#000080>&amp;</font>amp;model.category_id=<font color=#a52a2a>${test.categoryId}</font><font color=#000080>&lt;/</font>param&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="input" type="redirect"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="location"&gt;/admin/getTestList.action?model.category_id=<font color=#a52a2a>${test.categoryId}</font><font color=#000080>&amp;</font>amp;id=<font color=#a52a2a>${test.categoryId}</font><font color=#000080>&lt;/</font>param&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="WSStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="validationWorkflowStack"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br></font>&#8220;${param.id}&#8221;，看到了吧，它就是1的方法得到的！！！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其实这些也是经过高人指点才做到的，发在这里有兴趣的大家分享一下，也许我描述不对，但我相信大家看例子也可以看懂得！如果有什么不对的地方，也请前辈们谅解并给予纠正！</p>
<img src ="http://www.blogjava.net/xiaosao/aggbug/45590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaosao/" target="_blank">cAng^Er</a> 2006-05-11 08:44 <a href="http://www.blogjava.net/xiaosao/archive/2006/05/11/45590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>