Tin's Blog

          You are coming a long way, baby~Thinking, feeling, memory...

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks
          <2006年2月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627281234
          567891011

          公告

           
          Tin是一個熱愛收集最佳實踐的程序員。曾經在小型Java團隊中擔任架構師,后在新浪郵件部門領導RIA團隊進行開發,目前是自由程序員,接受Java/ RIA/ RoR項目和咨詢。
          業余時間積極進行敏捷實踐和參與社區討論,對RoR和Django感興趣。在社區中還積極參與開源項目的文檔中文化工作。目前為InfoQ中文站做社區編輯。

          業余愛好:編程、硬件、Mac、美術、音樂(Rock)、電影、攝影、集圖、集郵、Quake3、旅行、美食

          常用鏈接

          留言簿(20)

          隨筆分類(63)

          隨筆檔案(58)

          文章分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          今天遇到一個問題,在Webwork 2.2里面給一個Action的result傳多個參數:
          原先配置如下

          <action name="blahblahAction" class="blahAction" method="blah">
             
          <result name="success" type="redirect">/some.action?field1=${field1}&field2=${field2}</result>
          </action>

          運行時候出現如下提示:
          The reference to entity "field2" must end with the ';' delimiter.
          我本以為是OGNL的問題,四處搜尋,不得其解……看了DTD也沒有發現問題。
          后來修改過程中突然發現原來是SAX解析器出錯,我這才想到可能是XML的問題。
          經過再三查詢得到解決方案:
          使用"&amp;"代替"&",原理和HTML中的轉義相同,我居然忘記了XML的語法規范,慚愧。
          配置如下:

          <action name="blahblahAction" class="blahAction" method="blah">
             
          <result name="success" type="redirect">/some.action?field1=${field1}&amp;field2=${field2}</result>
          </action>

          工作正常了!希望對大家有用。
          這幾天超忙,沒怎么寫Blog,還是要勤呀。

          posted on 2006-02-24 13:56 Tin 閱讀(6224) 評論(17)  編輯  收藏 所屬分類: Webwork相關

          評論

          # re: 如何給Webwork的redirect的result傳遞多個參數 2006-02-24 17:27 keigo
          <param name = "paraA">xx1</param>
          <param name = "paraB">xx2</param>
          這種方式不就行啦  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2006-02-25 00:04 Tin
          呵呵,可能你看錯了。這里是說對result的多參數進行配置,而不是對action的參數進行配置,兩者所處的Action生命周期不同。<param>參數負責給Action初始化賦值,而對result不能通過<param>賦值,在result type="redirect"時相當于Action生命周期結束并將參數傳給下一個action或者一些url觸發的事件。

          其實上面的代碼如果不簡寫,將所有的參數指明是這樣的:
          <action name="blahblahAction" class="blahAction" method="blah">
          <result name="success" type="redirect">
          <param name="location">/some.action?field1=${field1}&amp;field2=${field2}</param>
          <param name="parse">true</param>
          </result>
          </action>
          因為type="reirect"的result只接受location和parse兩個參數,不支持自定義的param,這是個限制。這個限制可以在webwork的wiki上面搜索到。希望以后webwork可以改變它。不過lightbody本人也許覺得OGNL的表達式已經夠強大了,呵呵:D  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2006-03-29 11:01 testtest
          只要在xml文件中;號都要被&amp;替代,這個我早就會了,想不到高手還會為這個寫blog.哧哧。。  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2006-03-31 15:35 Snow
          "這個我早就會了"---明顯的小人得志,沒見過那個真正的高手說這話,自己會了譏笑別人不會,這是什么作風,最看不慣了!!
          我覺得樓主的的帖子對本人非常管用,我正在苦苦的搜索相關的問題呢,頂一個!?。?nbsp; 回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2006-04-09 00:45 testtest
          @Snow

          sb,我又不是高手,我也沒說自已是高手。
            回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2007-01-16 17:10 ccmv
          你好,請問給/some.action?field1=${field1}&amp;field2=${field2}
          ${field1} ${field2}傳值  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2007-04-03 16:24 jack
          請問我在傳遞參數是為什么只能得到一個參數?
          比如:
          <action name="actionName" class="someAction" method="someMethod">
          <result name="success" type="redirect">
          <param name="location">anotherAction.action?param1=${param1}&amp;param2=${param2}</param>
          <param name="parse">true</param>
          </result>
          </action>

          重定向后,我在Action中只能得到第一個參數(parameters.size() == 1),第二個參數丟失了。
          請問您知道什么原因嗎?
          cnlf@sina.com  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2007-06-28 17:43 野草
          感謝作者!解決了個問題。順便鄙視一下那個小人得志testtest╭∩╮(︶︿︶)╭∩╮。  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2007-07-17 18:19 網友
          第二個參數 丟了, 是什么原因 , 我一碰到這個問題.
          xuzhibing0907@163.com  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2007-07-18 14:36 Tin
          第二個不會丟,用&amp;就可以了。  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2007-11-20 11:32 biby
          謝謝!!正是我要的  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2008-04-17 17:12 曉秋
          Cannot create a session after the response has been committed

          我用這個出現了這個問題,請教一下.有沒有解決方案.  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2008-06-24 13:46 test
          謝謝,我也遇見這個問題了!  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2008-06-24 13:47 test
          我也遇見這個問題了!  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數 2008-10-06 21:42 wwb
          /selectMinusPricing.action?s1=${sessionScope.serviceuser.userId}

          我的為什么得不到 輸出s1=0;  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2009-04-23 10:54 aaa
          謝謝樓主,
          testtest就是一個山炮  回復  更多評論
            

          # re: 如何給Webwork的redirect的result傳遞多個參數[未登錄] 2009-06-07 20:02 dd
          ddd@keigo
            回復  更多評論
            

          主站蜘蛛池模板: 蓬安县| 沐川县| 乐都县| 射阳县| 精河县| 揭阳市| 武功县| 和龙市| 东乡县| 伊宁市| 静海县| 昌平区| 凌源市| 万全县| 图木舒克市| 绥棱县| 乌兰浩特市| 慈溪市| 万载县| 印江| 宜君县| 榕江县| 五河县| 金山区| 广河县| 铜陵市| 大厂| 绍兴县| 奉节县| 阿拉善盟| 山丹县| 肥城市| 岑溪市| 清原| 岳西县| 鲁山县| 宜宾县| 泸州市| 沐川县| 师宗县| 紫金县|