<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://m.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)”。
    主站蜘蛛池模板: 亚洲日韩中文无码久久| 日产乱码一卡二卡三免费| 久久亚洲高清综合| 污污污视频在线免费观看| 亚洲AV无码专区日韩| 国产亚洲人成在线影院| 亚洲精品乱码久久久久久不卡| 免费视频精品一区二区| 亚洲国产成人影院播放| 国产精品成人免费观看| 亚洲香蕉成人AV网站在线观看| 日本三级在线观看免费| 亚洲国产精品lv| 黄色片在线免费观看| 亚洲人成人无码.www石榴| 亚洲?V无码乱码国产精品| 两个人www免费高清视频| 久久亚洲精品AB无码播放| 亚洲日本在线免费观看| 亚洲1区1区3区4区产品乱码芒果 | 亚洲一区二区三区久久| 成年人在线免费看视频| 亚洲AV无码一区二区三区电影 | 亚洲人成色77777在线观看大| 一级特黄录像视频免费| 亚洲AV无码精品无码麻豆| 美女网站免费福利视频| 高潮毛片无遮挡高清免费| 亚洲国产精品无码AAA片| 免费A级毛片无码无遮挡内射| 理论秋霞在线看免费| 亚洲爆乳无码一区二区三区| 丁香花免费完整高清观看| 免费看美女午夜大片| 久久亚洲精品人成综合网| 国产精品无码一二区免费| 男女作爱在线播放免费网站| 亚洲AV色无码乱码在线观看| 国产精品亚洲аv无码播放| 毛片免费在线视频| 中国一级全黄的免费观看|