posts - 3,  comments - 9,  trackbacks - 0

          ? 對(duì)于C/S模式下的對(duì)話框彈出問題就不說了,這里只討論B/S模式下的實(shí)現(xiàn).
          ? 開發(fā)環(huán)境是:struts+hiberinate+spring
          ??遇到的問題是在JSP頁面新增成功后彈出新增成功的提示對(duì)話框.
          ? 剛開始覺得在JAVA中很不容易實(shí)現(xiàn),因?yàn)橐郧皩慍#時(shí)習(xí)慣了一種寫法:Response.Write("<script>alert('say what you want to say');</script>");但在JAVA中我卻不知道在action中去怎么寫出這樣的代碼了.為此感覺不好做,但又不得不做,所以就只有想另外一種辦法了.問題是解決了,但總感覺有些郁悶,為什么不可以更簡(jiǎn)單的實(shí)現(xiàn)呢?
          ??? 下面是我實(shí)現(xiàn)的過程.JSP頁面加了一個(gè)<html:hidden property="propertyName" />,然后就是新增操作的action對(duì)應(yīng)的form的后臺(tái)代碼中加了變量propertyName和與此對(duì)應(yīng)的getter和setter屬性,這樣在action中當(dāng)新增成功后就通過form中的setter屬性對(duì)字段賦值.然后通過腳本來取得JSP頁面上的隱藏控件(<html:didden/>)的value.這樣做判斷就可以實(shí)現(xiàn)了.
          ? 也不知道大家都有什么好的方法,希望貼出來學(xué)習(xí)一下.
          ???下邊是部分代碼:
          ???action部分代碼:
          ???? public ActionForward sumbit(ActionMapping mapping,
          ??????....
          ????? if (isAdd) {
          ??????? bookVhlForm.setBookNo(bookNo);
          ??????? bookVhlForm.reset(mapping,request);
          ??????? this.saveErrors(request, errors);
          ??????? return mapping.findForward("bookVehicle");
          ????? }
          ??????...
          ???????return mapping.findForward("bookVehicle");
          ?????}
          ???actionForm部分代碼:
          ??????package com.portal.web.vehicleManage.form
          ?????????import org.apache.struts.action.*;
          ?????????import javax.servlet.http.*;
          ?????????public class BookVhlForm??? extends ActionForm {
          ?????????...
          ?????????private String bookNo;
          ?????????....
          ?????????public String getBookNo() {
          ?????????????return bookNo;
          ????????}
          ????????public void setBookNo(String bookNo) {
          ????????? this.bookNo = bookNo;
          ??????? }
          ???JSP腳本:
          ??????function bookNo(){
          ??????????var bookNo=document.all("bookNo").value;?
          ??????????if(bookNo!=""){?
          ????????????alert("您的預(yù)約登記已申請(qǐng)成功,預(yù)約登記號(hào)為:"+ bookNo);?
          ??????????} else{?
          ????????????alert("do the operate which you want!");
          ???????????}?
          ?????????}

          posted on 2006-07-28 16:27 Lazy dog 閱讀(15158) 評(píng)論(9)  編輯  收藏 所屬分類: Some Other

          FeedBack:
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-28 17:31 | hiswing
          其實(shí)java中也很好實(shí)現(xiàn)這個(gè)功能。
          function check() {
          var flag = '<%=request.getAttribute("key")%>';
          if (flag != "") {
          alert("您的預(yù)約登記已申請(qǐng)成功,預(yù)約登記號(hào)為:"+ bookNo);
          } else {
          alert("do the operate which you want!");
          }
          }

          只要在Action中加入:request.setAttribute("key", "");  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-28 17:35 | hu
          我也在痛苦中。
          用的方法也很土。
          就是在action設(shè)置一個(gè)變量。  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-28 17:56 | liujia
          java里面也有response對(duì)象阿,如果你用的是struts,那就和c#沒什么區(qū)別;如果是webwork,倒是不方便直接拿到response對(duì)象  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-29 14:44 | endisoft
          方法的確有點(diǎn)普通
          不過,也不錯(cuò)了  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-30 10:13 | IBM
          PrintWriter out = response.getWriter();
          out.print("<script>alert('say what you want to say');</script>");
          out.colose();
          return mapping.findForward("......");  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-30 16:44 | jspark
          這種方法實(shí)現(xiàn)有點(diǎn)累贅,而且不能重用。

          建議用兩種:
          在根目錄寫一個(gè)公用的jsp

          二,自己寫一個(gè)ResponstUtils來實(shí)現(xiàn),比如,我的一個(gè)實(shí)現(xiàn)是這樣:
          //提示并返回值同時(shí)關(guān)閉當(dāng)前窗口,只適用于用window.open打開的窗口
          public static void alertAndReturnWithOpen(HttpServletResponse response, String msg, boolean b)
          {
          try
          {
          response.setContentType("text/html; charset=GBK");
          response.getWriter().println("<script>");
          response.getWriter().println("alert('" + msg + "');");
          if(b){
          response.getWriter().println("opener.location.reload();");
          }
          response.getWriter().println("window.close();");
          response.getWriter().println("</script>");
          }
          catch (IOException e)
          {}
          }
            回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-07-31 08:28 | Lazy dog
          謝謝大家給出了這么多的方法和提示,思路開闊了好多.  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-08-01 12:46 | lionheart163
          @jspark
          這還不如做成一個(gè)taglib,按不同參數(shù)進(jìn)行調(diào)用,

          還有個(gè)問題,如果client 和server要交互幾次,根據(jù)confirm的結(jié)果提交不同的表單,然后又一個(gè)confirm,不知道有什么幽雅的方法實(shí)現(xiàn)嗎?好象srping webwork有這方面的內(nèi)容,有時(shí)間去研究下  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問題
          2006-08-06 23:02 | 誰伴我闖蕩
          PrintWriter out = response.getWriter();
          out.write( "<script language=\"javascript\">" );
          out.write( "alert(\"" + msg + "\");" );
          out.write( "location.href=\"" + url + "\";" );
          out.write( "</script>" );
          return null;  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          do something by java

          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 延庆县| 应城市| 天全县| 平南县| 始兴县| 吴江市| 子洲县| 金寨县| 靖远县| 遂溪县| 勃利县| 微山县| 浪卡子县| 文成县| 遵义市| 东源县| 汉阴县| 喀什市| 静海县| 东乌| 沙雅县| 同心县| 竹山县| 南乐县| 巩义市| 松江区| 津南区| 益阳市| 双峰县| 东辽县| 咸阳市| 抚州市| 五家渠市| 玉溪市| 南京市| 泾阳县| 怀安县| 永兴县| 略阳县| 澎湖县| 定州市|