使用 struts 做項目時,通常在信息錄入頁面點擊 [ 保存 ] 按鈕后會跳轉(zhuǎn)到一個“保存成功!”的提示頁面,小小的提示會帶來一些問題:

          l ???????? 多設(shè)計一個頁面;

          l ???????? 用戶多增加一步操作(特別是在信息修改頁面);

          l ???????? 帶來頁面刷新的重復(fù)提交的問題;

          我們改變一下思路會帶來意想不到的效果,同時也規(guī)避了以上問題。
          方法一 ?

          1、 ? 修改你的信息錄入頁面,加入如下腳本

          ……

          <iframe name="tagFrame" style="display:none" frameborder="0"></iframe>

          ……

          <script language="JavaScript">

          <!--

          // 保存信息

          function saveInfo() {

          ??? testForm.action="test.do?method=save";?

          ??? testForm.target="tagFrame";

          ??? testForm.submit();

          }

          //-->

          </script>

          ?

          ?

          2、 ? 修改你的提示頁面

          <%@ page contentType="text/html; charset=GBK" %>

          ?

          <script language="javascript">

          ??? alert(" 保存成功! ");

          ??? // 這里是等待你點擊 alert 的確定按鈕后跳轉(zhuǎn),神奇的 js

          ??? parent.window.location.href='test.do?method=test';

          </script>

          簡單改一下就 jsp 收獲還不小。

          方法二 ?
          讓action返回javascript完成提示和跳轉(zhuǎn):

          public ActionForward execute(ActionMapping mapping,

          ActionForm form, HttpServletRequest request,

          ??????????? HttpServletResponse response) throws Exception {

          。。。

          // 發(fā)送的信息

          ??????? String msg = "alert(' 操作成功! ');location.href='test.do?method=test';";

          ??????? writeJsToFrontPage(response, msg);

          ?

          ??????? return null;

          }


          /**
          ???? *
          向前端頁面發(fā)送 javascript 腳本
          ???? *
          ???? * @param response
          ???? * @param text
          ???? * @throws IOException
          ???? */?

          protected void writeJsToFrontPage(HttpServletResponse response,

          String msg) throws IOException {

          ??????? response.setContentType("text/html; charset=utf-8");

          ??????? response.setHeader("Cache-Control", "no-cache");

          ??????? PrintWriter pw = response.getWriter();

          ??????? pw.write("<SCRIPT TYPE='text/javascript'>" + msg + "</SCRIPT>");

          ??????? pw.close();

          ??? }

          ?

          posted on 2006-10-20 17:43 野草 閱讀(2962) 評論(2)  編輯  收藏 所屬分類: 2shtv

          評論:
          # re: struts中不讓頁面跳轉(zhuǎn)的小方法 2009-08-27 22:58 | amado
          沒有明白怎么回事!不夠詳細  回復(fù)  更多評論
            
          # re: struts中不讓頁面跳轉(zhuǎn)的小方法[未登錄] 2011-06-08 19:35 | aa
          樓主能具體點不迷茫啊
          謝了  回復(fù)  更多評論
            
          主站蜘蛛池模板: 高雄市| 林西县| 南陵县| 乐清市| 温州市| 南江县| 西平县| 焉耆| 巴东县| 满城县| 福建省| 灌阳县| 曲水县| 焉耆| 乃东县| 安平县| 高邑县| 延吉市| 湖北省| 巴塘县| 田林县| 莱芜市| 九江市| 扎兰屯市| 和静县| 昌都县| 孟州市| 晋江市| 收藏| 潜江市| 浦江县| 奇台县| 沅江市| 临泉县| 南木林县| 杭州市| 浪卡子县| 清水河县| 遵化市| 通山县| 扶沟县|