亚洲国产日韩在线人成下载,亚洲AV一二三区成人影片,亚洲暴爽av人人爽日日碰http://www.tkk7.com/xiaosao/category/24831.html不懂我的人 , 離不了我 , 該了解了解我 !而懂我的人 , 更離不了我 , 因為他們愛我 。zh-cnThu, 16 Jun 2011 02:10:34 GMTThu, 16 Jun 2011 02:10:34 GMT60<轉>標題欄新消息提示效果http://www.tkk7.com/xiaosao/archive/2011/06/15/352379.htmlcAng^ErcAng^ErWed, 15 Jun 2011 10:24:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/06/15/352379.htmlhttp://www.tkk7.com/xiaosao/comments/352379.htmlhttp://www.tkk7.com/xiaosao/archive/2011/06/15/352379.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/352379.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/352379.html標題欄新消息提示如圖:

公司的項目中用到了這個新消息提示的效果,主要用于提示用戶有新消息。具體實現代碼如下:

01 var newMessageRemind={
02 _step: 0,
03 _title: document.title,
04 _timer: null,
05 //顯示新消息提示
06 show:function(){
07 var temps = newMessageRemind._title.replace("【   】", "").replace("【新消息】", "");
08 newMessageRemind._timer = setTimeout(function() {
09 newMessageRemind.show();
10 //這里寫Cookie操作
11 newMessageRemind._step++;
12 if (newMessageRemind._step == 3) { newMessageRemind._step = 1 };
13 if (newMessageRemind._step == 1) { document.title = "【   】" + temps };
14 if (newMessageRemind._step == 2) { document.title = "【新消息】" + temps };
15 }, 800);
16 return [newMessageRemind._timer, newMessageRemind._title];
17 },
18 //取消新消息提示
19 clear: function(){
20 clearTimeout(newMessageRemind._timer );
21 document.title = newMessageRemind._title;
22 //這里寫Cookie操作
23 }
24   
25 };

調用顯示新消息提示:newMessageRemind.show();

調用取消新消息提示:newMessageRemind.clear();

查看demo:http://www.css88.com/demo/newMessageRemind/

另:單純的這個代碼會出現這么一個問題:
就是當你打開一個站點很多張頁面的時候,如過有新消息,那么所有頁面都會不停的閃,當你查看消息后其他頁面仍會提示。

我們公司是通過使用Cookie的方式解決的,當查看新消息后所有標題閃動的頁面將全部取消提示。

聲明: 本文采用 BY-NC-SA 協議進行授權 | WEB前端開發
轉載請注明轉自《標題欄新消息提示效果



cAng^Er 2011-06-15 18:24 發表評論
]]>
<轉>return閉包函數http://www.tkk7.com/xiaosao/archive/2011/06/15/352374.htmlcAng^ErcAng^ErWed, 15 Jun 2011 09:56:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/06/15/352374.htmlhttp://www.tkk7.com/xiaosao/comments/352374.htmlhttp://www.tkk7.com/xiaosao/archive/2011/06/15/352374.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/352374.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/352374.html高手繞道!這跟閉包本身沒什么大的關系,也不知道怎么取標題,隨便湊了個數,望見諒!

今天一個剛學js的朋友給了我一段代碼問為什么方法不執行,代碼如下:

1 function  makefunc(x)  {
2         return function (){
3             return  x;
4         }
5     }
6 alert(makefunc(0));

其實不是不執行,只是朋友的意思這里alert出來的應該是“0”,而不是function (){return x;}。
不是腳本寫錯了,只是沒搞懂return,從當前函數退出,并從那個函數返回一個值。如果返回的是一個函數,那么返回的也是函數本身。
可以這樣修改上面的代碼,就是alert(makefunc(0)()):

1 function  makefunc(x)  {
2         return (function (){
3             return  x;
4         })();
5     }
6 alert(makefunc(0)());

如果要返回函數執行的結果那么首先要讓這個函數執行,例如:

1 function  makefunc(x)  {
2         return (function (){
3             return  x;
4         })();
5     }
6 alert(makefunc(0));

這里有一個匿名函數,

1 (function (){
2            return  x;
3        })();

在第一個括號內是匿名函數,第二個括號用于調用該匿名函數,您可以在第二個括號中傳入所需的參數。例如:

1 (function( x , y){
2     alert( x + y);
3 })(2 ,3 );

聲明: 本文采用 BY-NC-SA 協議進行授權 | WEB前端開發
轉載請注明轉自《return閉包函數



cAng^Er 2011-06-15 17:56 發表評論
]]>
<轉>頁面翻轉,讓你的頁面旋轉一下http://www.tkk7.com/xiaosao/archive/2011/06/10/352061.htmlcAng^ErcAng^ErFri, 10 Jun 2011 10:08:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/06/10/352061.htmlhttp://www.tkk7.com/xiaosao/comments/352061.htmlhttp://www.tkk7.com/xiaosao/archive/2011/06/10/352061.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/352061.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/352061.htmln.styleSheet.cssText = r;這個寫法是亮點,動態載入過css,但從來都沒這么載入過,在公司的項目中試了下,不一樣的感覺.很搞怪.

原帖:http://www.webchina110.cn/?p=328
今天網上閑逛,看到克軍寫了一句話,惡搞一下。憑著這句話的吸引力,我點進去了。

哇,居然頁面倒過來了,頁頭和頁腳翻了一個根頭,其實我以前還在想,背景圖片是不是可以這樣呢,今天至少在頁面上看到了。

真好奇,立即啟動火狐看了一下,哈哈,找到原因了,馬上在試了一下IE,搞定,也OK,哈哈,如果不知道的同學們,我想你們也想知道這是怎么回事吧。

其實就是這個東東在做怪。。。

-moz-transform: rotate(180deg);

-webkit-transform: rotate(180deg);

filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);

三行代碼,分別用來支持moz,webkit和IE的內核的瀏覽器。

我們看看克軍是怎么做的呢,他使用了JS,讓代碼立即執行的方式。。給頁面增加一個<sytle>和相應的樣式,并且為body增加相應的class.下面我將他的js代碼貼出來。嘿嘿!

;(function(){
var d = document, n = d.createElement('style'), r='.flip { -moz-transform: rotate(180deg);-webkit-transform: rotate(180deg);filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); }';
n.type = 'text/css';
if(n.styleSheet)
{
 n.styleSheet.cssText = r;
}
else
{
 n.appendChild(d.createTextNode(r))
}
d.getElementsByTagName('head')[0].appendChild(n);
d.body.className += ' flip';
}

為了使用document方便,他把document傳給了變量d,建立了一個style標簽為變量n,把樣式的內容傳給
了變量r,克軍的命名都很簡潔。
在為這個n其實就是style標簽了type這個屬性。
下面是進行判斷頁面中style有不有屬性,如果沒有,直接將r,也就是樣式的內容放入n中。
如果有,就得使用建立文本并且追加的方式。
我不知道我的解釋對不對哈,反正大概意思就是這樣的,歡迎指正。
一切準備就緒以后,就將n添加到head中去,在將class增加到body上,這樣頁面一加載。。。。你的頁面就會被旋轉180度,當然你可以旋轉90度,10度,數字是可以調整的喲。

2010.09.30  今天在使用過程中,最后發現,原來ie只支持4個值,分別旋轉值可以是1,2,3或4。這些數字分別代表90,180,270,或360度旋轉。



cAng^Er 2011-06-10 18:08 發表評論
]]>
<轉>webkit webApp 開發技術要點總結http://www.tkk7.com/xiaosao/archive/2011/06/09/351982.htmlcAng^ErcAng^ErThu, 09 Jun 2011 06:24:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/06/09/351982.htmlhttp://www.tkk7.com/xiaosao/comments/351982.htmlhttp://www.tkk7.com/xiaosao/archive/2011/06/09/351982.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/351982.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/351982.html閱讀全文

cAng^Er 2011-06-09 14:24 發表評論
]]>
<轉>Jquery插件Thickbox的使用總結及自定義設置 http://www.tkk7.com/xiaosao/archive/2011/04/26/349052.htmlcAng^ErcAng^ErTue, 26 Apr 2011 08:59:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/04/26/349052.htmlhttp://www.tkk7.com/xiaosao/comments/349052.htmlhttp://www.tkk7.com/xiaosao/archive/2011/04/26/349052.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/349052.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/349052.html

ThickBox運行需要的文件

官方下載:

Download thickbox.js or thickbox-compressed.js, ThickBox.css, and the loading graphic (loadingAnimation.gif) to your local machine (or cut and paste the code from the tabs). Along with these three files, a copy of the jQuery JavaScript library is needed. For this site, and ThickBox, I am using the compressed version of jQuery.

首先在 HTML 文件的 head中導入jquery.js 和thickbox.js文件,導入 thickbox.css 文件;并且jquery.js 文件放在前面:

<script src="../Scripts/jquery-latest.pack.js" mce_src="Scripts/jquery-latest.pack.js" type="text/javascript"></script>
<script src="../Scripts/thickbox.js" mce_src="Scripts/thickbox.js" type="text/javascript"></script>
<link href="../Styles/thickbox.css" mce_href="Styles/thickbox.css" rel="stylesheet" type="text/css" />  

最后你只要給元素添加 class=”thickbox” 屬性就可以開始用 thickbox

實現了一張圖片的彈出展示功能:

<a href="”bg.jpg”" mce_href="”bg.jpg”" class=”thickbox” ><img src="”bg.jpg”" mce_src="”bg.jpg”" alt=”圖片”/></a>
//只需要指定圖片的class為thickbox
彈出框使用方法:
<a href="Default.aspx?keepThis=true&TB_iframe=true&height=400&width=500" title="主頁" class="thickbox" </a>
<input onclick="<web.path:path/>/bannedUserList!unBannedUserList?height=400&width=800&inlineId=myOnPageContent" title="彈出層" class="thickbox" type="button" value="Ban Another" />
//內嵌內容
<input alt="#TB_inline?height=300&width=400&inlineId=myOnPageContent" title="標題" class="thickbox" type="button" value="Show" />
<a href="#TB_inline?height=155&width=300&inlineId=hiddenModalContent&modal=true" class="thickbox">顯示隱藏內容a>
//遮罩層
URL后面加?KeepThis=true&TB_iframe=true&height=400&width=600
參數字符串中加 modal=true
?KeepThis=true&TB_iframe=true&height=400&width=600&modal=true
這樣當關閉ThickBox時會調用ThickBox iframe (self.parent.tb_remove())內部的一個tb_remove()函數
所有其他參數字符都必須在TB_iframe 參數之前。URL中所有"TB" 之后的將被移除。
<a href="index.html?keepThis=true&TB_iframe=true&height=250&width=400" title="標題" class="thickbox">打開一個頁面</a>
<a href="index.html?keepThis=true&TB_iframe=true&height=300&width=500" title="標題" class="thickbox">打開一個頁面</a>
<a href="index.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=300&modal=true" title="標題" class="thickbox">打開一個頁面</a>  

 

自定義設置:

1、彈出窗口(div)右上角的關閉按鈕為顯示為"close or esc key",而不是中文的; 如果想把它變成[X]或"關閉"應該怎么來辦呢?

將thickbox.js文件打開,查找關鍵字"or esc key",將其刪除,并將前面的close更改為[X]或"關閉",然后把文件另存為UTF-8格式,如果不保存為UTF-8的話,將會出現亂碼。
2、thickbox 彈出層的遮住層透明度修改

打開thickbox.css查找.TB_overlayBG 進行更改

.TB_overlayBG {
background-color:#000;
filter:alpha(opacity=75);
-moz-opacity: 0.75;
opacity: 0.75;
}

3、關閉層:如果我們需要自己添加一個關閉按鈕或者圖片可以使用:

onclick="self.parent.tb_remove();"  

4、關閉層刷新父頁面,修改關閉方法 :

function tb_remove() {
$("#TB_imageOff").unbind("click");
$("#TB_closeWindowButton").unbind("click");
$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
$("#TB_load").remove();
if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
$("body","html").css({height: "auto", width: "auto"});
$("html").css("overflow","");
}
document.onkeydown = "";
document.onkeyup = "";
//刷新父頁面,未指定
window.location.reload();
return false;
}

5、thickbox插件默認情況是點擊灰色的遮罩層就會關閉取消

把兩個$("#TB_overlay").click(tb_remove);去掉就可以取消掉

6、updatepanel回發后thickbox失效的解決方法

只需把以下代碼粘貼至頁面中就OK了。
<script type="text/javascript" language="javascript">
function pageLoad()
{
var isAsyncPostback = Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();
if (isAsyncPostback)
{
tb_init('a.thickbox, area.thickbox, input.thickbox');
}
}
</script>


cAng^Er 2011-04-26 16:59 發表評論
]]>
<轉>ThickBox 3.1參數詳解http://www.tkk7.com/xiaosao/archive/2011/04/26/349046.htmlcAng^ErcAng^ErTue, 26 Apr 2011 08:15:00 GMThttp://www.tkk7.com/xiaosao/archive/2011/04/26/349046.htmlhttp://www.tkk7.com/xiaosao/comments/349046.htmlhttp://www.tkk7.com/xiaosao/archive/2011/04/26/349046.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/349046.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/349046.html 前幾天寫了一篇關于ThickBox 3.1的文章:[ThickBox 3.1完美修正版下載],今天在使用這個東西的時候發現里面有許多參數沒有詳細解釋,今天抽空整理出來,現和大家分享一下:

先說幾個參數:
class="thickbox" 調用特效;
height 打開頁面的高度;
width 打開頁面的寬度;
title="Iframe(Auto Hide)" title的內容;
keepThis=true TB_iframe=true 這兩個參數沒搞明白什么意思,但通過框架來調用頁面時不可缺少;
#TB_inline 調用當前頁面的層;
inlineId 當前頁面層的ID;
modal=true 表示禁用title,去掉即可顯示title及可自動關閉;

1、調用框架,固定寬度和高度,超出顯示滾動條 Iframe(auto hide):

<a >OECSPACE</a>


2、打開頁面,固定寬度和高度,無滾動條,禁用title, fixed width, fixed height

<a href="boxs.html?keepThis=true&TB_iframe=true&height=100&width=220&modal=true" title="ThickBox 3.1:modal=true表示禁用title,去掉即可顯示title及可自動關閉" class="thickbox">Open iFrame Modal</a>


3、Ajax載入,自動寬度和高度,禁用title,頁面無法查看源代碼

<a href="box.html?height=350&width=350&modal=true" title="ThickBox 3.1:Ajax載入,頁面無法查看源代碼" class="thickbox">Example</a>


4、鏈接顯示隱藏的層,層存在于頁面中。

<a href="#TB_inline?height=200&width=300&inlineId=hiddenModalContent&modal=true" title="ThickBox 3.1:鏈接顯示隱藏層" class="thickbox">Show hidden modal content</a>

<div id="hiddenModalContent" style="display:none">
<p>ThickBox hidden modal content. Click to hide.</p>
<p style="text-align:center"><input type="submit" value=" O K " onclick="tb_remove()" /></p>
</div>


5、按鈕顯示隱藏的層,層存在于頁面中。

<input alt="#TB_inline?height=150&width=400&inlineId=myOnPageContent " title="ThickBox 3.1:按鈕顯示隱藏層" class="thickbox" type="button" value="Show" />

<div id="myOnPageContent" style="display:none">
<p>ThickBox hidden modal content.Auto Hide.</p>
</div>


6、單張圖片調用

<a href="images/plant1.jpg" title="plant" class="thickbox"><img src="images/plant1_t.jpg" alt="ThickBox 3.1" /></a>


7、多張圖片調用

<a href="images/plant1.jpg" title="plant1" class="thickbox" rel="gallery-plants"><img src="images/plant1_t.jpg" alt="ThickBox 3.1 1" /></a>
<a href="images/plant2.jpg" title="plant2" class="thickbox" rel="gallery-plants"><img src="images/plant2_t.jpg" alt="ThickBox 3.1 2" /></a>
<a href="images/plant3.jpg" title="plant3" class="thickbox" rel="gallery-plants"><img src="images/plant3_t.jpg" alt="ThickBox 3.1 3" /></a>


另外,如果不想點擊圖片關閉的話,找到thickbox.js,到128行,把下面的代碼:

$("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");     

改成:

$("#TB_window").append("<img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");     

即可,說白了就是把鏈接去掉。

cAng^Er 2011-04-26 16:15 發表評論
]]>
在linux下配置jdk1.5+tomcat+idea+svn(二)http://www.tkk7.com/xiaosao/archive/2006/10/08/73733.htmlcAng^ErcAng^ErSun, 08 Oct 2006 03:20:00 GMThttp://www.tkk7.com/xiaosao/archive/2006/10/08/73733.htmlhttp://www.tkk7.com/xiaosao/comments/73733.htmlhttp://www.tkk7.com/xiaosao/archive/2006/10/08/73733.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/73733.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/73733.html接上:
三.安裝,配置idea5.1.2:
下載:
http://www.linuxeden.com/download/downfile2.php?softid=885
安裝:
這個也是tar.gz的解壓式的安裝文件,我就不說了,參照二的方法安裝就可以了~解壓好后會出現一個idea-4267的文件夾~要說的是在進入到它的/bin后,執行./idea.sh時你也許會出現這樣的提示信息:
 ERROR: cannot start IntelliJ IDEA.
 No JDK found to run IDEA. Please validate either IDEA_JDK or JDK_HOME points to valid JDK installation
./idea.sh: line 56: /bin/java: 沒有那個文件或目錄
./idea.sh: line 56: exec: /bin/java: cannot execute: 沒有那個文件或目錄

呵呵~這個是因為idea要的是$JDK_HOME,而我配置的確實$JAVA_HOME
解決的方法有兩個:
 一是用vi去修改idea.sh文件,打開文件vi idea.sh,
在開頭的部分放上下面這段代碼:
JDK_HOME=$JAVA_HOME
然后保存退出,在執行./idea.sh就可以了~
二是建一個空文檔,寫一個批處理文件~
在txt文檔內寫如如下的代碼:
export JDK_HOME=$JAVA_HOME
/home/xiaosao/tools/javabuilder/tools/idea-4267/bin/idea.sh

注意:/home/xiaosao/tools/javabuilder/tools/idea-4267/bin/idea.sh是我idea所在的目錄~你則需要去改一下~
恩,idea這樣就配置完成了~還有,破解,在Win下的破解碼在linux一樣可以用的~現在idea出6.0版了,那天下了一個,布局和5.1.2是一樣的,但多了不少了功能,挺爽的~我現在在用6.0,破解沒有,不好意思,我也在用試用碼~嘎嘎我看網上對安裝配置eclipse的文檔特別多,我沒用過eclipse,但也裝了~,沒出現什么需要特別注意的~
下載地址: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.linuxeden.com/
四.接下來就是安裝配置svn了,版本控制器~
下載:我用的版本穩定版SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
解壓: tar zxvf subversion-1.3.2.tar.gz

依次輸入./configure , make , make install 進行編譯安裝完成。

開啟SVN服務:svnserve -d
檢測服務是否開啟:netstat -ntlp如果看到3690的端口正常開放了,證明SVN啟動了。]
下面是機器上的端口顯示:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address        Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:32769        0.0.0.0:*                   LISTEN      2611/rpc.statd
tcp        0      0 0.0.0.0:111          0.0.0.0:*                   LISTEN      2591/portmap
tcp        0      0 0.0.0.0:113          0.0.0.0:*                   LISTEN      2827/xinetd
tcp        0      0 127.0.0.1:631        0.0.0.0:*                   LISTEN      4860/cupsd
tcp        0      0 127.0.0.1:25         0.0.0.0:*                   LISTEN      2846/sendmail: acce
tcp        0      0 :::3690              :::*                       LISTEN      5513/svnserve
tcp        0      0 :::22                :::*                       LISTEN      2812/sshd
下面這個就是了:
tcp        0      0 :::3690              :::*                       LISTEN      5513/svnserve
好了,svn已經架起來了,我們可以使用它了,首先要建立一個版本庫~命令如下:
建立項目命令:svnadmin create  test    test為版本庫,你project的名字!
建立完畢后,進入test文件夾~,你就可以看到一個conf的文件夾~進入里面有兩個文件passwd和svnserve.conf,用
vi去編輯svnserve.conf文件:
把文件里
#[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
#anon-access = read
#auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
#password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory.  If you don't specify an authz-db, no path-based access
### control is done.
的下面這四段代碼前面的#去掉~
#[general]
#anon-access = read
#auth-access = write
#password-db = passwd
接下來是通行證了
vi passwd
[user]
your_name = your_password

這里設置的your_name是你的用戶名,your_password是你的密碼,這個是訪問SVN必要的通行證。
我的是
[user]
xiaosao = xiaosao

這樣所由的準備工作就結束了,可以去使用svn了~
首次添加:
上傳文件~先要進入到你的項目源代碼文件夾,使用下面命令:
svn import /home/xiaosao/Projects/test_idea file:///home/xiaosao/tools/javabuilder/SVN/test -m "xiaosao"
注:/home/xiaosao/Projects/test_idea,是我項目源代碼文件的文件目錄,
file:///home/xiaosao/tools/javabuilder/SVN/test則是我svn版本庫的目錄了~
checkout項目源代碼:
svn co file:///home/xiaosao/tools/javabuilder/SVN/test --username = xiaosao --password = xiaosao
這些只是在我本機上使用的,并沒有涉及到從其他機器上import和co,所以co的目錄是file:///home......并不是 /home......,也不是:svn://home....這個要記住~svn://則是跨機器之間的操作,我還沒用過~如果你用了,則會出現
svn: 未知的主機名稱“home” 這樣的提示
如果是跨機器的,你可以嘗試svn co http://127.0.0.1/home/xiaosao/tools/javabuilder/SVN/test --username = xiaosao --password = xiaosao
這樣的操作,說一下,127.0.0.1是一個回環地址,也就我在本機上操作的地址,改成相應的其他主機的ip就可以了~另:查看主機名稱的指令:hostname
把增加的svn文件添加入svn庫:
svn add file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao

提交文件:
svn commit file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao
更新文件:
svn update file:///home/xiaosao/tools/javabuilder/SVN/test/*.* --username = xiaosao --password = xiaosao
我暫時也就會這些了~不過這些可以解決一些小問題了~可以在linux下寫web可以用版本控制了~
詳悉的可以參照這個論壇
www.iusesvn.com
這個論壇我感覺是相當的不錯~里面還有
Subversion中文手冊1.1


   說了這么多亂七八糟的~也不知道看的人看沒看懂~放在這里以后忘記的時候可以查閱一下~
還有MySQL沒有進行配置~,沒有了數據庫,東西是寫不出來的~嘎嘎~繼續努力~先配置MySQL,爭取把oracle 9i系列的裝上








cAng^Er 2006-10-08 11:20 發表評論
]]>
在linux下配置jdk1.5+tomcat+idea+svn(一)http://www.tkk7.com/xiaosao/archive/2006/10/08/73707.htmlcAng^ErcAng^ErSun, 08 Oct 2006 01:59:00 GMThttp://www.tkk7.com/xiaosao/archive/2006/10/08/73707.htmlhttp://www.tkk7.com/xiaosao/comments/73707.htmlhttp://www.tkk7.com/xiaosao/archive/2006/10/08/73707.html#Feedback0http://www.tkk7.com/xiaosao/comments/commentRss/73707.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/73707.html在linux下配置jdk1.5+tomcat+idea+svn(一)
    最近在用linux操作系統~感覺很有挑戰性~無論是裝軟件還是 卸載軟件都要指令~而且在windows下最常用的win+E都不聽話了~當然,在linux下沒有我的電腦這一項~
    我在linux下裝了jdk1.5,tomcat,idea和svn,怎么說呢,剛上手linux,好多東西都是新的~把這些常用的東西配置下來挺不容易的,好像是爬過來的~把自己配置的方法和配置的時候應該注意的問題帖出來,供大家分享~也放這上面,以后忘了看一看~不羅嗦了~說正題 ~
   一.在linux下安裝jdk1.5以及配置環境變量:
a.下載:
    在sun公司的網站就可以下的到安裝文件,我用的rpm安裝包,人家說是一種傻瓜式的安裝文件~不過我現在挺喜歡的~可能是會的少的原因吧~
    下載地址:http://java.sun.com/j2se/1.5.0/download.jsp
Linux RPM in self-extracting file (jdk-1_5_0_09-linux-i586-rpm.bin, 45.47 MB)
Linux self-extracting file (jdk-1_5_0_09-linux-i586.bin, 47.22 MB)
    我下的是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包。
    rpm安裝后的默認目錄是/etc/java,rpm的安裝到此就結束了~后一個我沒有在我機器上裝過~所以在這里就不瞎掰了~
b.配置環境變量:
    1.我是在單用戶下運行的jdk,我用的配置方法是網上所說的第一種~需要修改用戶所對應的.bash_profile文件,打開終端,輸入vi ~/.bash_profile,用vi編輯器編輯.bash_file文件
在開頭的地方插入下面的代碼:
export JAVA_HOME=/usr/java/jdk1.5.0_09
export CLASSPATH=.
export PATH=$JAVA_HOME/bin:$PATH 
 

然后保存文件,注銷重新登陸之后在終端下輸入java –version,如果出現一下信息則說明安裝設置已經成功。
注意 export JAVA_HOME=/usr/java/jdk1.5.0_09里的jdk1.5.0_09,要和你所新下載的最新版本的jdk對應上,可以查看 java的下一級目錄或者bin的上一級目錄~呵呵,說起來大家或許會笑話我~我配置的時候就是卡到這里了~
馬馬虎虎的~在網上找了個文檔了~把人家的代碼放上了就以為可以好使呢~嘎嘎~
配置成功的信息:
java version "1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b01)
Java HotSpot(TM) Client VM (build 1.5.0_09-b01, mixed mode, sharing)
   2.另一種是全局環境變量,注意,這個是需要root權限的,要不是不允許你修改修改/etc/profile文件的!
以超級用戶登錄的指令是在終端輸入su,輸入密碼~就可以了 ~
在開頭的地方添加一下代碼:
JAVA_HOME=/usr/java/jdk1.5.0
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH

修改完成后保存,注消~查看配置是否安裝成功~
可以用一下指令查看環境變量的配置情況:
echo $JAVA_HOME    //查看jdk安裝的根目錄,我機器上的輸出信息是:/usr/java/jdk1.5.0_09
echo $CLASSPATH     //查看環境變量.信息是:usr/java/jdk1.5.0_09/lib/dt.jar:/usr/jdk1.5.0_09/lib/tools.jar
echo $PATH           //信息是:/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:
/usr/X11R6/bin:/home/xiaosao/bin
這樣jdk在你機器上就安裝完畢了~
我參考的文檔有:
http://www.linuxsky.net/html/200604/2854.html
http://fanqiang.chinaunix.net/program/other/2006-07-14/4835.shtml
供大家參考~

 二.安裝并配置tomcat.
下載:
http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz
安裝:
     這個是tar.gz解壓是的安裝文件,下載好后,先進入到你下載的上一級目錄~
     在終端給文件加上執行權限
     chmod a+x apache-tomcat-5.5.20.tar.gz,然后解壓這個文件
     tar zxvf apache-tomcat-5.5.20.tar.gz
     這個比較簡單,沒什么好說的,但有一點是要注意的~在發布工程的時候有可能出現不能往               /home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20/webapps(這個是我的tomcat所在的目錄)
目錄拷貝文件的問題,這個問題是因為你在當前用戶下沒有權限往這里進行寫操作~
你只要對這個文件進行權限控制就可以了~指令如下:
chmod -R uao=rwx /home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20
注意要把/home/xiaosao/tools/javabuilder/server/apache-tomcat-5.5.20這個改成你自給所在的目錄,并且執行這個操作是需要root權限了~
chmod 的具體的用法情參考:
http://www.chinaunix.net/jh/7/240097.html
三.安裝.配置idea5.1.2:
下面!
在linux下配置jdk1.5+tomcat+idea+svn(二)







cAng^Er 2006-10-08 09:59 發表評論
]]>
用webwork框架做upload的java讀取代碼http://www.tkk7.com/xiaosao/archive/2006/05/11/45597.htmlcAng^ErcAng^ErThu, 11 May 2006 01:43:00 GMThttp://www.tkk7.com/xiaosao/archive/2006/05/11/45597.htmlhttp://www.tkk7.com/xiaosao/comments/45597.htmlhttp://www.tkk7.com/xiaosao/archive/2006/05/11/45597.html#Feedback2http://www.tkk7.com/xiaosao/comments/commentRss/45597.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/45597.html 用webwork框架做upload的java讀取代碼
    我的語言表達能力不是很好,說也許說不明白,可能給看的說得糊涂了,同樣
這個對做上傳得新手很有用,不啰嗦了,先寫代碼吧:一共4個地方要弄,
前臺,后臺,xwork和webwork.properties
前臺:
upload.jsp:
=================================================================
<%--
  Created by IntelliJ IDEA.
  User: lvjiachun
  Date: 2006-5-3
  Time: 9:32:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ taglib prefix="ww" uri="/webwork" %>
<html>
<head><title>upload</title></head>
<body><p align="center">
    <ww:form action="upload.action" name="upload" method="post" enctype="multipart/form-data">
        <ww:file name="file1" value="瀏覽" label="ReadFile"/>
        <ww:file name="file2" value="瀏覽" label="ReadFile"/>
        <ww:file name="file3" value="瀏覽" label="ReadFile"/>
        <ww:file name="file4" value="瀏覽" label="ReadFile"/>
        <ww:textfield name="model.fileURL" label="Road"/>  //指定上傳得文件保存到哪里
        <ww:submit/>
    </ww:form></p>
</body>
</html>
=======================================================================
upload-success.jsp
=======================================================================
<%--
  Created by IntelliJ IDEA.
  User: lvjiachun
  Date: 2006-5-3
  Time: 9:38:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ taglib prefix="ww" uri="/webwork" %>
<html>
<head><title>upload-success</title></head>

<body>
<p align="center">
    你已經上傳成功,
    <a href="upload.jsp">請返回</a>
</p>
</body>
</html>
========================================================================
后臺:一共需要三個4個java文件
1.  <FileMes>
package upload.until;

/**
 * Created by IntelliJ IDEA.
 * User: lvjiachun
 * Date: 2006-5-3
 * Time: 7:51:11
 * To change this template use File | Settings | File Templates.
 */
public class FileMes {
    private String fileName;

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    private String filePath;
}
2.<FileSelect >
package upload.until;

/**
 * Created by IntelliJ IDEA.
 * User: lvjiachun
 * Date: 2006-5-3
 * Time: 7:51:23
 * To change this template use File | Settings | File Templates.
 */
public class FileSelect {
    private String fileName;
    private String fileURL;
    private String type;

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileURL() {
        return fileURL;
    }

    public void setFileURL(String fileURL) {
        this.fileURL = fileURL;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}
3.<UploadUntil >
package upload.until;

import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper;
import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequest;
import com.opensymphony.webwork.ServletActionContext;

import java.util.List;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Calendar;
import java.io.*;

/**
 * Created by IntelliJ IDEA.
 * User: lvjiachun
 * Date: 2006-5-3
 * Time: 7:51:00
 * To change this template use File | Settings | File Templates.
 */
public class UploadUntil {
    public static List<FileMes> Upload(String smallPath) throws IOException {
        List<FileMes> fileMesList = new ArrayList<FileMes>();
        String path = smallPath;
        System.out.println("PATH 2:" + path);
        MultiPartRequestWrapper multiWrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();
        if (multiWrapper == null) return null;
        Enumeration e = multiWrapper.getFileNames();
        int i = 0;
//===============================================================//
        //這個是單文件上傳的代碼;!!如果想做單文件上傳,把注釋掉的代碼去掉就可以了
//        while (e.hasMoreElements()) {
//            String inputValue = (String) e.nextElement();
//            String contentType = multiWrapper.getContentType(inputValue);
//            String flie1 = multiWrapper.getFilesystemName(inputValue);
//            String fileName = flie1;
//            System.out.println("FileName underfinded:" + fileName);
//            String savePath = path + fileName;
//            File file = multiWrapper.getFile(inputValue);
//            if (file != null) {
//                InputStream inStream = new FileInputStream(file.getPath());
//                FileMes fm = new FileMes();
//                fm.setFileName(flie1);
//                System.out.println("FileName:" + fm.getFileName());
//                System.out.println("SmallPath in UploadUntil.java" + smallPath);
//                fm.setFilePath(smallPath + fileName);
//                System.out.println("FilePath:" + fm.getFilePath());
//                fileMesList.add(fm);
//                System.out.println("SavePath:" + savePath);
//                FileOutputStream fs = new FileOutputStream(savePath);
//                byte[]buffer = new byte[1444];
//                int length;
//                int bytesum = 0;
//                int byteread = 0;
//                while ((byteread = inStream.read(buffer)) != -1) {
//                    bytesum += byteread;
//                    fs.write(buffer, 0, byteread);
//                }
//============================================================//
// 下面這個是多文件上傳-------------------
        while (e.hasMoreElements()) {
            String inputValue = (String) e.nextElement();
            String contentType = multiWrapper.getContentType(inputValue);
            String flie1 = multiWrapper.getFilesystemName(inputValue);
            String fileName = Calendar.getInstance().getTime().getTime() + "-" + i + flie1;
            String savePath = path + fileName;
            File file = multiWrapper.getFile(inputValue);
            if (file != null) {
                InputStream inStream = new FileInputStream(file.getPath()); //讀入原文件
                FileMes fm = new FileMes();
                fm.setFileName(flie1);
                fm.setFilePath(smallPath + fileName);
                fileMesList.add(fm);
                FileOutputStream fs = new FileOutputStream(savePath);
                byte[] buffer = new byte[1444];
                int length;
                int bytesum = 0;
                int byteread = 0;
                while ((byteread = inStream.read(buffer)) != -1) {
                    bytesum += byteread; //字節數 文件大小
                    fs.write(buffer, 0, byteread);
                }
//==============================================================//
                inStream.close();   //關閉輸入流
                i++;
                if (file.exists()) {
                    file.delete();
                }   //如果上傳的文件存在則將其刪除;
            }

        }
        return fileMesList;
    }
}
4.也就是最后一個,action<UploadfilesAction>
package upload.fileupload;

import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ModelDriven;
import upload.until.FileSelect;

/**
 * Created by IntelliJ IDEA.
 * User:lvjiachun
 * Date: 2006-5-3
 * Time: 7:52:34
 * To change this template use File | Settings | File Templates.
 */
public class UploadfilesAction extends ActionSupport implements Action, ModelDriven {
    FileSelect fileMes = new FileSelect();

    public String upload() throws Exception {
        String smallPath = fileMes.getFileURL();
        System.out.println(smallPath+"xiaosao");
        java.io.File myFilePath = new java.io.File(smallPath);
        if (smallPath != null) {
            if (!myFilePath.exists()) {
                myFilePath.mkdir();
                System.out.println("*******MaKe DIR!*********");
            }
        }
        upload.until.UploadUntil.Upload(smallPath);
        return SUCCESS;

    }
    public Object getModel() {
        return fileMes;  //To change body of implemented methods use File | Settings | File Templates.
    }
}
**********************************************************************
xwork中
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "
http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
    <include file="webwork-default.xml"/>
    <package name="upload" extends="webwork-default">
        <interceptors>
            <interceptor name="upload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/>
            <interceptor-stack name="uploadStack">
                <interceptor-ref name="upload"/>
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="WSStack"/>
    
        <action name="upload" class="upload.fileupload.UploadfilesAction" method="upload">
            <result name="success">
                <param name="location">/upload/upload-success.jsp</param>
            </result>
            <interceptor-ref name="uploadStack"/>
            <interceptor-ref name="model-driven"/>
        </action>
    </package>
</xwork>
webwork.properties
在webwork.properties中要加上這段代碼
webwork.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest
webwork.multipart.saveDir=d:\\  #這個是上傳文件的默認保存路徑#

xiaosao:具體的解析過程不是我寫的,是我工作室boss寫的,我也沒那個能力!具體怎么用
看代碼就足夠了,這個是我在做上傳得時候用到的,開始做的時候沒有任何思路,在網上找
也沒找到,憋了半個月也沒弄出來,用webwork可以得到上傳得文件,但傳得內容只有upload這
幾個字(傳txt時候),后來才清楚是要解析過程的,后臺的前三段代碼就是解析過程,我是個新
手,這個東西做的讓我腦袋都大了,為了大家方便,發到這里,有需要的來看一下!代碼是好
使得,需要自己認真調試!有什么不足給點意見



cAng^Er 2006-05-11 09:43 發表評論
]]>
兩個jsp頁面通過xwork傳數據的幾個方式http://www.tkk7.com/xiaosao/archive/2006/05/11/45590.htmlcAng^ErcAng^ErThu, 11 May 2006 00:44:00 GMThttp://www.tkk7.com/xiaosao/archive/2006/05/11/45590.htmlhttp://www.tkk7.com/xiaosao/comments/45590.htmlhttp://www.tkk7.com/xiaosao/archive/2006/05/11/45590.html#Feedback2http://www.tkk7.com/xiaosao/comments/commentRss/45590.htmlhttp://www.tkk7.com/xiaosao/services/trackbacks/45590.html兩個jsp頁面通過xwork傳數據的幾個方式:
      這幾個方法是在做項目時用到的,記在這里,如果忘記了可以參考一下,大家如果感興趣,也可以參考一下,我想對初學webwork的應該會有一些幫助,我做東西沒太多的經驗,可能有很多地方說的不對,寫得時候也是按照自己的理解寫上去的,例子里的代碼,是我做東西時候的真實代碼,也是可行的,主要是說明一下怎么做。
    起初屬于無奈,因為不能經過后臺連接數據庫得到數據,即使能得到,也是很麻煩,很耗費時間,無奈通過xwork進行傳值!現在發現挺好的一件事情,也許有弊端,但我的經驗不足,暫時并沒有發現,如果有什么不對的地方,希望大家給點意見,批評一下,呵呵,我是大一的學生!
     1.如果這個頁面的數據要給下一個頁面,且不經過java文件處理,可以用這個方法!
那是一個request的周期問題,因為在兩個jsp界面通過xwork進行跳轉,需要傳相同的數據或者下一個界面要用到上一個jsp頁面的數據時就可以像下面那樣傳值,要注意的是,兩個jsp頁面,在xwork跳轉的時候不能經過java文件也就是不能讓另一個java文件進行處理,如果在經過一個java文件,那么request存儲的數據就會丟失!相反,request存儲的數據就會存在。
例如,
jsp:
   <c:url var="testContent" value="/admin/addcontent.action">
                    <c:param name="testId" value="${test.testId}"/>
                    <c:param name="categoryId" value="${test.categoryId}"/>
                </c:url>
                <a href="${testContent}">添加</a>
xwork中:
    <action name="addcontent">
            <result>/dream/admin/addcontent.jsp</result>
        </action>
不需要做任何的處理,但要記住,不能經過后臺!(也許可以經過后臺,只要不進行存儲數據就可以,但我沒試過,因為那樣就沒有意義了!)
另一個jsp(addcontent.jsp):
 <ww:a href="admin/getTestList.action?model.category_id=${param.categoryId}&id=${param.categoryId}" value="返回">
            返回
        </ww:a>
<form action="admin/addTestContent.action" method="post" enctype="multipart/form-data">
    <input type="hidden" name="categoryId" value="${param.categoryId}">
    <input type="hidden" name="content.testId" value="${param.testId}">
    <table align="center">


        <ww:textfield label="名稱" name="content.contentName" value="" required="true"/>

        <tr>
            <td>上傳文件</td>
            <td colspan="2">
                <input type="file" name="file1"><br/>
                <input type="file" name="file2"><br/>
                <input type="file" name="file3"><br/>
                <input type="file" name="file4"><br/>
                <input type="file" name="file5"> <br/>
            </td></tr>
        <ww:submit value="提交"></ww:submit>

    </table>
</form>
      在另一個界面,用${param.category}得到,param指的是<c:param>標簽[jstl] ,在xwork中對result可以不用做任何處理,只要告訴它下一個界面是什么就可以了!
其中:${param.categoryId}和${param.testId}是得到上個界面的值得!
    2. 如果在兩個頁面傳值,中間經過了一個java文件,那么可以通過xwork進行傳值,具體做法如果下
jsp:
 <c:url var="testContent" value="/admin/select_Test_category.action">
                    <c:param name="model.test_id" value="${test.testId}"/>
                    <c:param name="model.category_id" value="${test.categoryId}"/>
                </c:url>
                <a href="${testContent}">編輯</a>
xwork中:
<action name="select_Test_category" class="com.cool.lvjiachun.Select_Test_categoryAction">
            <result name="success" type="dispatcher">
                <param name="location">/cool/lvjiachun/test_category.jsp</param>
            </result>
            <result name="alone" type="dispatcher">
                <param name="location">
                    /cool/lvjiachun/editor_test_category.jsp?model.category_id=${model.category_id}</param>
            </result>
            <interceptor-ref name="WSStack"/>
        </action>
看一下result是怎么弄得吧,“?model.category_id=${model.category_id}”,${model.category_id}是第一個jsp“<c:paramname="model.test_id"value="${test.testId}"/>”
里的name,這樣值在下一個界面就可以得到了
下一個jsp,也就是editor_test_category.jsp,
  <ww:a href="admin/getTestList.action?model.category_id=${model.category_id}&id=${model.category_id}" value="返回">
        返回
    </ww:a>
這樣就可以了!
  3.如果要經過兩個action,經過一個action后還要經過另一個action才能到下一個jsp,后一個action需要jsp界面的數據,那么可以用重定向redirect,這樣就可以達到你想要的結果!(也可以不用,但要通過數據庫在去查數據,這樣很耗費時間,也麻煩)
例如:
jsp:
<ww:form action="/admin/addTestCategory.action" method="post" validate="true">
        <ww:textfield label="添加分類" name="test.testName" required="true"/>
        <ww:submit value="添加"></ww:submit>
        <ww:url id="listlink" namespace="/admin" action="getTestList" method="getList"></ww:url>
        <ww:hidden name="test.categoryId" value="${param.id}"></ww:hidden>
    </ww:form>
xwork中:
<action name="addTestCategory" class="com.dream.action.TestCategoryAction" method="insert">
            <external-ref name="testcategoryDAO">testcategoryDAOProxy</external-ref>
            <result name="success" type="redirect">
                <param name="location">/admin/getTestList.action?id=${test.categoryId}&amp;model.category_id=${test.categoryId}</param>
            </result>
            <result name="input" type="redirect">
                <param name="location">/admin/getTestList.action?model.category_id=${test.categoryId}&amp;id=${test.categoryId}</param>
            </result>
            <interceptor-ref name="WSStack"/>
            <interceptor-ref name="validationWorkflowStack"/>
        </action>
“${param.id}”,看到了吧,它就是1的方法得到的!!!
            其實這些也是經過高人指點才做到的,發在這里有興趣的大家分享一下,也許我描述不對,但我相信大家看例子也可以看懂得!如果有什么不對的地方,也請前輩們諒解并給予糾正!



cAng^Er 2006-05-11 08:44 發表評論
]]>
主站蜘蛛池模板: 国产成人亚洲精品91专区高清 | 成人在线免费看片| 亚洲一区二区久久| 四虎免费影院4hu永久免费| 你是我的城池营垒免费看| 亚洲人成电影院在线观看| 国产一区二区三区在线免费| 182tv免费视频在线观看| 亚洲一级特黄特黄的大片| 高清在线亚洲精品国产二区| 日韩内射激情视频在线播放免费| 亚洲国产精品自在自线观看| 国产成人精品日本亚洲| 成年网站免费视频A在线双飞| 国产免费AV片在线观看播放| 亚洲一级毛片中文字幕| 国产亚洲AV夜间福利香蕉149| 妞干网在线免费视频| 国产一级在线免费观看| 亚洲av无码成人精品国产| 亚洲人成亚洲精品| 亚洲精品天堂成人片?V在线播放| 黄色片在线免费观看| 最好免费观看高清在线| 美女被吸屁股免费网站| 亚洲丝袜中文字幕| 久久精品亚洲综合| 久久久久国产亚洲AV麻豆| 国产免费卡一卡三卡乱码| 日韩视频在线精品视频免费观看 | 99视频在线观看免费| 亚洲精品色在线网站| 亚洲午夜电影在线观看| 亚洲成人激情在线| 久久久久亚洲精品无码网址 | 亚洲日韩一区二区一无码| 亚洲午夜在线电影| 亚洲高清国产AV拍精品青青草原| 亚洲精品亚洲人成在线观看下载| 国产美女无遮挡免费视频| 成年丰满熟妇午夜免费视频|