feng

          飄逸~~~~~life

          struts2.0表單提交帶參數問題

          今天在學習的時候,碰到了這個問題,不知道怎么搞定了,也就是在提交表單的時候另外傳遞一個參數過去,這個參數不是那些<s:textfield><s:textarea>里面的東西,比如要編輯一篇新聞,原來轉過來了這個新聞對應的編號,
          類似這樣
          int idd=(null==request.getParameter("id")?1:(Integer.parseInt(request.getParameter("id"))));
          目的是根據這個把需要編輯的新聞里面的東西讀出來編輯
          然后編輯好新聞,提交表單的時候又需要把這個idd也傳過去,也就是還需要根據這個來更新哪條新聞,但是遇到了問題
          <s:form action="editnews.action?id=<%=idd%>"validate="true">
          我發現這樣編譯后變成了
          <form namespace="" id="editnews" onsubmit="return validateForm_editnews();" action="editnews.action?id=&lt;%=idd%&gt;" method="post">
          問題就出現了  原來的<%=idd%>  被換成了  &lt;%=idd%&gt;,而不是我需要的具體的值,原來可以不用<s:form>而直接用〈form> 但是我又用了struts2的validation驗證,需要<s:form>
          希望有人知道的指導!!!怎么實現傳這個參數 謝謝!


          我自己今天想出了一個方法,以前了解過隱藏域這個東西,查了下,struts2標簽也確實提供了這樣的東西 <s:hidden>   可以把這個ID存在里面
          先換成STRING類型的數據
            int idd=(null==request.getParameter("id")?1:(Integer.parseInt(request.getParameter("id"))));
            String dd=""+idd;
          添加一個
          <s:hidden name="id" value="<%=dd%>"></s:hidden> 測試發現數據得到了! 大家有什么更好的方法請指教!

          posted on 2007-11-03 15:52 feng 閱讀(8762) 評論(10)  編輯  收藏

          Feedback

          # re: struts2.0表單提交帶參數問題[未登錄] 2007-11-03 23:19 Thinker

          隱藏域是正解,
          不過你可以查查Struts2的源代碼看看解析標簽form的action時是如何處理的,再看看還有沒有另外取值的方式,不用<%=%>這種形式。  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2007-11-04 15:41 feng

          自己發現提交后,對于的action類的必須提供id的 setter和getter方法,否則得不到正確的數據!  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2007-12-31 16:59 張君華

          關于表達式語言變成了對應的轉義字符的問題我想是struts2.0中的一個bug吧。因為我們直接用jsp的標簽是不會出現這樣的問題的。
          你既然用了struts2.0的標簽為何不用<s:param/>標簽傳參呢  回復  更多評論   

          # re: struts2.0表單提交帶參數問題[未登錄] 2008-01-08 00:53 Neptune

          <s:form action="editnews.action?id=<s:property="idd"/> "validate="true">

          這樣試試,然后用ServletActionContext.getRequest().getAttribute("idd")
          來取值  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2008-08-27 09:38 yin

          我原來用STRUTS1的時候一般傳不顯示的參數也是用hidden,然后在ACTION里 通過 request.getParameter("name")來得到的.但是STRUTS2.0就沒有用過了.樓住說的,2.0也應該支持HIDDEN標簽的.  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2008-08-29 12:47 隔葉黃鶯

          曾看過一個項目經理在項目內部下一條死命令,絕對不允許在 JSP 中寫 Java 代碼,我想這完全能實現的,也不失去其靈活性的。

          樓主可以做的更規范一些。  回復  更多評論   

          # re: struts2.0表單提交帶參數問題[未登錄] 2008-09-03 18:21 Bright

          <s:url id="url1" action="editnews">
          <s:param name="idd" value="'<%=dd%>'" />
          </s:url>
          <s:form action="${url1}">
          </s:form>  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2008-11-19 19:37 阿道夫

          樓主有沒有搞錯 根本實現不了  回復  更多評論   

          # re: struts2.0表單提交帶參數問題 2009-07-30 18:32 carft

          @阿道夫
          根本不可能實現的,value屬性根本不支持任何表達式,你所謂的${},或者<=% %>這兩種方式根本不可以,,如果你用%{}得到的只有null,不過我也不知道怎么解決,不然我也不來看帖子了,哈哈
            回復  更多評論   

          # re: struts2.0表單提交帶參數問題[未登錄] 2009-10-12 16:55 wds

          誰說不可以的,我也得到需要的參數了呀 不過用${}方法只能得到null  回復  更多評論   



          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 辽中县| 新昌县| 白玉县| 津市市| 东阳市| 宜丰县| 正阳县| 炎陵县| 淮阳县| 上饶市| 五原县| 海门市| 五常市| 佛学| 普兰县| 庆云县| 临桂县| 根河市| 大姚县| 芦溪县| 子洲县| 桐城市| 长顺县| 晋城| 保康县| 怀安县| 烟台市| 甘孜县| 本溪| 于都县| 德州市| 佛冈县| 思南县| 景东| 疏勒县| 黄骅市| 藁城市| 阿瓦提县| 平泉县| 景东| 南岸区|