<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    頁面嵌入在線聊天 (prototype)

    Posted on 2007-06-13 10:22 G_G 閱讀(1450) 評論(3)  編輯  收藏 所屬分類: javascript
    問題 : 提供給B/S 結(jié)構(gòu)一個實時的運行展現(xiàn)
    解決:?? prototype 的?Ajax.PeriodicalUpdater 更新
    ??????????? prototype 的??? Ajax.Request 語句提交
    ????????????action 語句的組織展現(xiàn)

    http://www.tkk7.com/Files/Good-Game/take.rar

    ????沒有l(wèi)ib 大家可以就加 struct 相關(guān) lib 就可以了

    說明:?
    ??????

    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
    <html>
    ??
    <head>
    ??????????
    <SCRIPT?language="Javascript"?src="prototype1.5.0.js"></SCRIPT>
    ??
    </head>
    ??
    ??
    <body?onload="Said()">?
    ??????
    <INPUT?id='name1'?type="text"?size="10"?value="請輸入名字"?onfocus="if($('name1').value=='請輸入名字')?$('name1').innerText=''?"?/>
    ??????
    <INPUT?id='text1'?type="text"?onkeydown="if(event.keyCode==13){event.keyCode=0;?onb();}"/>
    ??????
    <INPUT?id='button1'?type="button"?value="test"?onclick='onb()'?/>
    ??
    </body>
    ??
    <div?id='div1'/>
    </html>
    <script?type="text/javascript"??>
    ??????? //語句異步提交給服務(wù)器 Ajax.Request
    ????
    function?onb(){?????????????????????????????????????????
    ??????
    if($('name1').value=='請輸入名字'?||?$('name1').value==''){
    ??????????window.alert('請輸入名字');
    ??????????
    return?
    ??????}

    ??????
    ??????
    var?url?=?'http://192.168.1.130:7000/xxs/mySaid.do?name='+$F('name1')+'&take='+$F('text1');????????????????
    ??????new?Ajax.Request(
    ????????url,
    ????????
    {
    ????????????method:?'get',
    ????????????onComplete:?action??????????????
    ????????}
    );
    ????????
    ????????$('name1').readOnly?
    =?true
    ????????$('name1').style.background?
    =?'lightblue'
    ????????$('text1').innerText
    =''?
    ????}

    ?????? //局部刷新 并提取 語句
    ????
    function?Said(){
    ????????
    var?url?=?'http://192.168.1.130:7000/xxs/mySaid.do';??
    ????????new?Ajax.PeriodicalUpdater(
    ????????????'div1',
    ????????????url,
    ????????????
    {
    ????????????????method:?'get',
    ????????????????onComplete:?SumSaid,
    ????????????????evalScripts:?
    true,
    ????????????????frequency:?
    1,
    ????????????????decay:?
    1
    ????????????}

    ????????);
    ????}

    ?????? //展現(xiàn)
    ????
    function?SumSaid(req){
    ????????$('div1').innerHTML?
    =?req.responseText;
    ????}


    ????
    function?action(req){
    ????}

    ????
    </script>
    ????

    Action
    ?? private static int SIZE = 30 ;
    ???? private List list = new ArrayList();

    ????
    public?ActionForward?execute(
    ????????ActionMapping?mapping,
    ????????ActionForm?form,
    ????????HttpServletRequest?request,
    ????????HttpServletResponse?response)?
    {
    ????????String?take?
    =?request.getParameter("take")?;
    ????????String?name?
    =?request.getParameter("name")?;
    ????????response.addHeader(
    "Cache-Control","no-cache");?
    ????????
    ????????request.setAttribute(
    "said",DueiLie(name,take));

    ????????
    try?{
    ????????????request.setCharacterEncoding(
    "gb2312");
    ????????????response.setCharacterEncoding(
    "gb2312");
    ????????}
    ?catch?(Exception?e)?{
    ????????}


    ????????
    return?mapping.findForward("list");
    ????}

    ?????
    ??????? //語句的組織
    ????
    public?String?DueiLie(String?name,String?take){
    ????????
    ????????StringBuffer?strb??
    =?new?StringBuffer();
    ????????
    if(name==null||take==null);
    ????????
    else{
    ????????????strb.append(?name?).append(
    "?:?").append(take).append("</br>")?;
    ????????????
    if(list.size()==SIZE){
    ????????????????list.remove(list.get(
    0));
    ????????????????list.add(strb.toString()?);
    ????????????}
    else{
    ????????????????list.add(?strb.toString()?);
    ????????????}

    ????????}

    ????????StringBuffer?takes?
    =?new?StringBuffer();
    ????????Iterator?it?
    =?list.iterator();
    ????????
    while(it.hasNext()){
    ????????????takes.insert(?
    0,(String)it.next()?);
    ????????}

    ????????
    return?takes.toString();
    ????}

    jsp ( list ) 中文處理 jsp 就一句話
    <%= new String(((String)request.getAttribute("said")).getBytes("iso8859-1"),"GBK") %>

    心得:別人做到了 我也能做到
    ?????????要學(xué)的東西很多 多看書 多留意 多保護好身體

    評論

    # re: 頁面嵌入在線聊天 (prototype)[未登錄]  回復(fù)  更多評論   

    2007-06-13 13:30 by 劉明
    可以給個Demo演示嗎?本人對struct不太懂。

    # re: 頁面嵌入在線聊天 (prototype)  回復(fù)  更多評論   

    2007-06-13 14:57 by G_G
    @劉明
    上頭下載的 就是 不過沒 lib :( 有點大
    你可以看 .classpath 放lib 我的 .classpath 有點亂
    你加 struct 的 lib 就可以了
    { 有 動態(tài)建表(2) bean[] 直接到建表 (擴展也很好) 的文檔的 lib 在里面 }
    對不起大家了
    有問題 到我
    liukaiyi@gmail.com 留言 謝謝

    # re: 頁面嵌入在線聊天 (prototype)  回復(fù)  更多評論   

    2007-06-13 17:16 by IT進行時
    還是用smack吧,簡單又“正統(tǒng)”。
    主站蜘蛛池模板: 亚洲男人的天堂www| 精精国产www视频在线观看免费| 337p日本欧洲亚洲大胆裸体艺术| 国产在线观看片a免费观看| 在线观看片免费人成视频播放| 亚洲精品V天堂中文字幕| 久久精品国产亚洲AV高清热| 综合亚洲伊人午夜网| 国产传媒在线观看视频免费观看| 日韩不卡免费视频| 香港a毛片免费观看| 久久国产精品免费一区| 理论亚洲区美一区二区三区| 亚洲免费福利在线视频| 亚洲精品中文字幕无码AV| 精品亚洲永久免费精品| 亚洲欧洲日产国码一级毛片| 国产女高清在线看免费观看| 久久久久久国产精品免费免费 | 一二三四视频在线观看中文版免费 | 免费高清A级毛片在线播放| 亚洲综合精品成人| 亚洲三级视频在线| 亚洲人成激情在线播放| 亚洲欧洲日产韩国在线| 亚洲色偷偷偷网站色偷一区| 久久精品国产亚洲AV嫖农村妇女| 亚洲丁香色婷婷综合欲色啪| 亚洲VA中文字幕无码毛片| 亚洲国产精品乱码一区二区 | 国产国产人免费人成成免视频| 国产亚洲女在线线精品| 久久亚洲AV成人无码国产最大| 亚洲精品无码av片| 亚洲成av人片天堂网无码】| 国产亚洲欧美在线观看| 久久人午夜亚洲精品无码区 | 亚洲综合色在线观看亚洲| 久久久久亚洲AV成人网人人软件| 亚洲午夜精品第一区二区8050| 久久久久国产成人精品亚洲午夜|