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 閱讀(8760) 評論(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  回復  更多評論   



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


          網站導航:
           
          主站蜘蛛池模板: 合肥市| 左权县| 九江县| 桑日县| 察哈| 防城港市| 孟州市| 隆林| 榆中县| 蓝田县| 兴安县| 南康市| 中西区| 广平县| 河池市| 鲁山县| 乌恰县| 红安县| 木里| 荥阳市| 延长县| 南涧| 津市市| 靖远县| 克东县| 赤壁市| 清镇市| 兰州市| 隆德县| 江孜县| 达孜县| 广宁县| 绍兴县| 海伦市| 清水河县| 商南县| 秭归县| 简阳市| 招远市| 灌南县| 葵青区|