<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    waysun一路陽光

    不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
    http://m.tkk7.com/19851985lili/articles/97664.html
    你的代碼本身有問題,一般來說,我們在使用Struts時,如果要在JSP隱式的傳值給Action有兩種情況:
    1、要傳的值是FromBean中的一個字段,你說的情況應該就是這種情況,例如需要在Edit頁面中保存theID,在Action中執行Update操作時根據ID來更新數據庫的值,你可以這樣做:
    Jsp中的代碼為:<html:hidden property="theID" />
    提交后,theID的值就會放到FormBean中的theID中,你就可以通過getTheID()來獲得這個值。
    2、要傳的值不是FromBean中的一個字段:
    Jsp中的代碼為:
    <input type="hidden" name="XXX" value="<%=request.getAttribute(XXX)%>">
    當然,你應該在Action中就已經就這個值放到了request中,request.setAttribute("XXX",value);,
    然后在Action中你才可以通過request.getParameter("XXX");來取得這個值。

    補充一點,request.setAttribute("XXX",value);中,value應該是個String,還有,<input type="hidden" name="XXX" value="<%=request.getAttribute(XXX)%>">應該改為
    <input type="hidden" name="XXX" value="<%=(String)request.getAttribute(XXX)%>">
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    http://blog.chinaunix.net/u1/55983/showart_522992.html

    actioncjsp傳值的問題,開始以為自己編寫程序有問題,檢查了幾天都沒解決,網上的解決方案也不可行。直到今天在網上找到一個可行的解決方案,現在總結如下:

    問題:

    Action中使用request.setAttribute("key", Value)的方式設置屬性,在通過return mapping.findForward("Forwards")方式跳轉,但在對應的JSP頁面中無得取得傳過來的屬性值。

    原因:

    由于request生命周期只在一次請求范圍內有效的,所以如果使用了struts-action 中的Reditect設置的話,就會將請求重定向,也就是破壞了request生命周期,重新產生一次請求,那么在jsp頁面中,request.setAttribute設置過的屬性被清空了。

    解決:

    在新建Action時,在選擇Forwards時,不要選擇“Redirect”,或者在struts-config.xml配置文件中,將對應<Action>標簽中的<Forward>標簽中,設置“Redirect”值為false即可。

    測試:下面是我項目中的舉例

    1、ListMarket.java中部分代碼如下:

            public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

           // 列出所有Market的信息

           MarketService ms = new MarketService();

           List listMarket = (List) ms.findAllMarket(); //從業務層取得LIST

           request.setAttribute("listMarket", listMarket);

           return mapping.findForward("success");

    }

    2、Struts-config.xml中的設置如下:

           <action path="/listMarket"

               type="com.sailor.struts.action.ListMarketAction" scope="request">

               <forward name="success" path="/list.jsp" redirect="false" />

           </action>

    3、jsp頁面實現:

    <logic:present name="listMarket">

           <logic:iterate id="market" name="listMarket" scope="request">!

               id: <bean:write name="market" property="id"/>

               year: <bean:write name="market" property="year"/>

               quarter: <bean:write name="market" property="quarter"/>

               consumer: <bean:write name="market" property="consumer"/>

               presale: <bean:write name="market" property="preSale"/><br>

           </logic:iterate>

    </logic:present>

    posted on 2008-06-20 08:37 weesun一米陽光 閱讀(5608) 評論(1)  編輯  收藏 所屬分類: 總結備用

    評論

    # re: action向jsp傳值問題[轉總結] [未登錄] 2013-02-05 16:40 123
    123  回復  更多評論
      

    主站蜘蛛池模板: 国产在线观看片a免费观看| 成人免费无码H在线观看不卡| 久久久久久精品免费免费自慰| 久久亚洲AV无码精品色午夜麻| 国产又黄又爽胸又大免费视频| 伊人婷婷综合缴情亚洲五月| A级毛片成人网站免费看| 亚洲国产精品无码久久SM| 久久免费公开视频| 亚洲美女自拍视频| 99热在线精品免费全部my| 亚洲国产午夜精品理论片在线播放| 性做久久久久免费观看| 免费激情网站国产高清第一页| 国产专区一va亚洲v天堂| 大地资源中文在线观看免费版| 亚洲沟沟美女亚洲沟沟| 国产精品视频免费一区二区| 污网站在线免费观看| 国产AV无码专区亚洲精品| 91精品国产免费久久久久久青草 | 视频免费1区二区三区| 国产成人A亚洲精V品无码| 无人在线观看免费高清| 亚洲国产亚洲片在线观看播放| 麻豆成人精品国产免费| 国产精品免费观看视频| 亚洲视频在线观看视频| 国产一级理论免费版| 国产免费爽爽视频在线观看| 精品日韩99亚洲的在线发布| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲免费福利在线视频| 亚洲VA综合VA国产产VA中| 成人性做爰aaa片免费看| 亚洲午夜精品久久久久久app| 国产偷国产偷亚洲高清日韩| 波多野结衣免费在线观看| 一进一出60分钟免费视频| 亚洲国产成AV人天堂无码| 亚洲精品国产福利一二区|