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

          l ???????? 多設計一個頁面;

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

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

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

          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 的確定按鈕后跳轉,神奇的 js

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

          </script>

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

          方法二 ?
          讓action返回javascript完成提示和跳轉:

          public ActionForward execute(ActionMapping mapping,

          ActionForm form, HttpServletRequest request,

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

          。。。

          // 發送的信息

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

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

          ?

          ??????? return null;

          }


          /**
          ???? *
          向前端頁面發送 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 野草 閱讀(2951) 評論(2)  編輯  收藏 所屬分類: 2shtv

          評論:
          # re: struts中不讓頁面跳轉的小方法 2009-08-27 22:58 | amado
          沒有明白怎么回事!不夠詳細  回復  更多評論
            
          # re: struts中不讓頁面跳轉的小方法[未登錄] 2011-06-08 19:35 | aa
          樓主能具體點不迷茫啊
          謝了  回復  更多評論
            
          主站蜘蛛池模板: 湟源县| 东阳市| 吉木萨尔县| 东乡县| 南乐县| 金堂县| 沙坪坝区| 徐闻县| 许昌市| 临沭县| 榆社县| 南投县| 光山县| 巴彦县| 吉木萨尔县| 农安县| 革吉县| 绥化市| 甘孜| 余江县| 斗六市| 怀来县| 武宣县| 尖扎县| 鹤岗市| 濉溪县| 广东省| 施甸县| 军事| 灵丘县| 东宁县| 三门峡市| 黄冈市| 蕉岭县| 即墨市| 石城县| 甘孜| 绵阳市| 晋江市| 松原市| 云南省|