posts - 3,  comments - 9,  trackbacks - 0

          ? 對(duì)于C/S模式下的對(duì)話框彈出問(wèn)題就不說(shuō)了,這里只討論B/S模式下的實(shí)現(xiàn).
          ? 開(kāi)發(fā)環(huán)境是:struts+hiberinate+spring
          ??遇到的問(wèn)題是在JSP頁(yè)面新增成功后彈出新增成功的提示對(duì)話框.
          ? 剛開(kāi)始覺(jué)得在JAVA中很不容易實(shí)現(xiàn),因?yàn)橐郧皩慍#時(shí)習(xí)慣了一種寫法:Response.Write("<script>alert('say what you want to say');</script>");但在JAVA中我卻不知道在action中去怎么寫出這樣的代碼了.為此感覺(jué)不好做,但又不得不做,所以就只有想另外一種辦法了.問(wèn)題是解決了,但總感覺(jué)有些郁悶,為什么不可以更簡(jiǎn)單的實(shí)現(xiàn)呢?
          ??? 下面是我實(shí)現(xiàn)的過(guò)程.JSP頁(yè)面加了一個(gè)<html:hidden property="propertyName" />,然后就是新增操作的action對(duì)應(yīng)的form的后臺(tái)代碼中加了變量propertyName和與此對(duì)應(yīng)的getter和setter屬性,這樣在action中當(dāng)新增成功后就通過(guò)form中的setter屬性對(duì)字段賦值.然后通過(guò)腳本來(lái)取得JSP頁(yè)面上的隱藏控件(<html:didden/>)的value.這樣做判斷就可以實(shí)現(xiàn)了.
          ? 也不知道大家都有什么好的方法,希望貼出來(lái)學(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 閱讀(15156) 評(píng)論(9)  編輯  收藏 所屬分類: Some Other

          FeedBack:
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          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ì)話框的問(wèn)題
          2006-07-28 17:35 | hu
          我也在痛苦中。
          用的方法也很土。
          就是在action設(shè)置一個(gè)變量。  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          2006-07-28 17:56 | liujia
          java里面也有response對(duì)象阿,如果你用的是struts,那就和c#沒(méi)什么區(qū)別;如果是webwork,倒是不方便直接拿到response對(duì)象  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          2006-07-29 14:44 | endisoft
          方法的確有點(diǎn)普通
          不過(guò),也不錯(cuò)了  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          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ì)話框的問(wèn)題
          2006-07-30 16:44 | jspark
          這種方法實(shí)現(xiàn)有點(diǎn)累贅,而且不能重用。

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

          二,自己寫一個(gè)ResponstUtils來(lái)實(shí)現(xiàn),比如,我的一個(gè)實(shí)現(xiàn)是這樣:
          //提示并返回值同時(shí)關(guān)閉當(dāng)前窗口,只適用于用window.open打開(kāi)的窗口
          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ì)話框的問(wèn)題
          2006-07-31 08:28 | Lazy dog
          謝謝大家給出了這么多的方法和提示,思路開(kāi)闊了好多.  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          2006-08-01 12:46 | lionheart163
          @jspark
          這還不如做成一個(gè)taglib,按不同參數(shù)進(jìn)行調(diào)用,

          還有個(gè)問(wèn)題,如果client 和server要交互幾次,根據(jù)confirm的結(jié)果提交不同的表單,然后又一個(gè)confirm,不知道有什么幽雅的方法實(shí)現(xiàn)嗎?好象srping webwork有這方面的內(nèi)容,有時(shí)間去研究下  回復(fù)  更多評(píng)論
            
          # re: Java中關(guān)于彈出對(duì)話框的問(wèn)題
          2006-08-06 23:02 | 誰(shuí)伴我闖蕩
          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年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 绥化市| 隆子县| 鸡西市| 神农架林区| 通许县| 宁城县| 房山区| 平阴县| 乌兰察布市| 彭阳县| 连云港市| 巴塘县| 舟山市| 龙陵县| 榕江县| 清河县| 连云港市| 潍坊市| 庆安县| 于田县| 泾阳县| 衡山县| 慈溪市| 寿阳县| 瑞丽市| 桑植县| 兰西县| 聂拉木县| 仙桃市| 德化县| 普定县| 济阳县| 正安县| 右玉县| 获嘉县| 南投县| 徐水县| 启东市| 康定县| 彩票| 额济纳旗|