老鐘

          并不是每一次雨后,都會有彩虹
          posts - 14, comments - 4, trackbacks - 0, articles - 1

          3種方法解決Struts2中forward問題!

          Posted on 2012-02-26 16:47 LaozhonG 閱讀(3411) 評論(0)  編輯  收藏 所屬分類: 技術(shù)

          在Struts2中沿用Struts1.2的<jsp:forward page="xxx.action"></jsp:forward>失效,報404錯誤。因為Struts2采用過濾器的方式處理請求,REQUEST,當(dāng)?shù)竭_(dá)頁面時,F(xiàn)ORWARD跳到Action。但是這個客戶端的FORWARD并沒有被攔截下來,所以找不到了。從而報出404錯。記得當(dāng)時試過很多方法,都不行。連一些基本的include都無法使用,所以研究了一下,結(jié)合網(wǎng)友提供的。

          解決辦法

          1、配置web.xml 解決,增加對FORWARD請求的過濾,自然問題就解決了

          1 <filter-mapping> 
          2    <filter-name>struts2</filter-name> 
          3    <url-pattern >/*</url-pattern> 
          4    <dispatcher>INCLUDE</dispatcher>    //增加對<jsp:include page="xxx.action"/>及其<s:include value="xxx.action"/>支持
             <dispatcher>REQUEST</dispatcher> 
             <dispatcher>FORWARD</dispatcher>   
          </filter-mapping> 

           

          2、用javascript解決,讓請求執(zhí)行到頁面時,接著執(zhí)行如下的代碼,發(fā)現(xiàn)頁面需要重載,然后就重新發(fā)送請求REQUEST,這樣當(dāng)然就會被過濾器所截獲到了。

          <script language="javascript">location.replace(URL)</script>

           

          3、利用html meta,等于也是讓頁面等待零秒刷新頁面,重新發(fā)送請求,達(dá)到目的。

          <meta http-equiv="refresh" content="0;URL=xxx.action">;

           

           


          上文轉(zhuǎn)載自解決Struts2中forward問題!

          ------------------------------------------------------
          About Me's
                          ------一個喜歡在一塊青石階上獨立行走的人
          主站蜘蛛池模板: 乌鲁木齐市| 三门峡市| 江永县| 沙湾县| 开鲁县| 黔南| 盐边县| 开化县| 辛集市| 山东省| 台江县| 博客| 大城县| 云安县| 西林县| 衡山县| 海口市| 辉县市| 普格县| 吉木萨尔县| 贵南县| 永登县| 普兰县| 万盛区| 深圳市| 缙云县| 互助| 荣成市| 丰都县| 梅河口市| 车致| 龙州县| 吴忠市| 泊头市| 安丘市| 兴业县| 宜宾市| 耿马| 澜沧| 收藏| 克拉玛依市|