feng

          飄逸~~~~~life

          struts2.0表單提交帶參數(shù)問題

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


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

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

          Feedback

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

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

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

          自己發(fā)現(xiàn)提交后,對(duì)于的action類的必須提供id的 setter和getter方法,否則得不到正確的數(shù)據(jù)!  回復(fù)  更多評(píng)論   

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

          關(guān)于表達(dá)式語(yǔ)言變成了對(duì)應(yīng)的轉(zhuǎn)義字符的問題我想是struts2.0中的一個(gè)bug吧。因?yàn)槲覀冎苯佑胘sp的標(biāo)簽是不會(huì)出現(xiàn)這樣的問題的。
          你既然用了struts2.0的標(biāo)簽為何不用<s:param/>標(biāo)簽傳參呢  回復(fù)  更多評(píng)論   

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

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

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

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

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

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

          曾看過一個(gè)項(xiàng)目經(jīng)理在項(xiàng)目?jī)?nèi)部下一條死命令,絕對(duì)不允許在 JSP 中寫 Java 代碼,我想這完全能實(shí)現(xiàn)的,也不失去其靈活性的。

          樓主可以做的更規(guī)范一些。  回復(fù)  更多評(píng)論   

          # re: struts2.0表單提交帶參數(shù)問題[未登錄] 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>  回復(fù)  更多評(píng)論   

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

          樓主有沒有搞錯(cuò) 根本實(shí)現(xiàn)不了  回復(fù)  更多評(píng)論   

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

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

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

          誰(shuí)說不可以的,我也得到需要的參數(shù)了呀 不過用${}方法只能得到null  回復(fù)  更多評(píng)論   



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 滕州市| 门源| 大洼县| 区。| 霍邱县| 泰和县| 德州市| 大冶市| 青浦区| 东平县| 东山县| 杨浦区| 巴林右旗| 牡丹江市| 共和县| 庆云县| 金坛市| 师宗县| 崇明县| 兰州市| 金门县| 北碚区| 汾阳市| 沂源县| 迭部县| 成安县| 广水市| 安福县| 普格县| 金沙县| 特克斯县| 拜泉县| 罗源县| 安溪县| 彭泽县| 青冈县| 滨海县| 体育| 台东县| 台山市| 南陵县|