feng

          飄逸~~~~~life

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

          今天在學(xué)習(xí)的時(shí)候,碰到了這個(gè)問題,不知道怎么搞定了,也就是在提交表單的時(shí)候另外傳遞一個(gè)參數(shù)過去,這個(gè)參數(shù)不是那些<s:textfield><s:textarea>里面的東西,比如要編輯一篇新聞,原來轉(zhuǎn)過來了這個(gè)新聞對應(yīng)的編號,
          類似這樣
          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> 測試發(fā)現(xiàn)數(shù)據(jù)得到了! 大家有什么更好的方法請指教!

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

          Feedback

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

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

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

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

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

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

          # 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ù)  更多評論   

          # 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ù)  更多評論   

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

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

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

          # 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ù)  更多評論   

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

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

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

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

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

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



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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 射洪县| 南昌市| 全椒县| 留坝县| 阜平县| 从化市| 神池县| 奉贤区| 馆陶县| 修水县| 许昌县| 益阳市| 巫溪县| 高要市| 奉化市| 朝阳县| 深水埗区| 龙州县| 密山市| 高邑县| 上林县| 项城市| 遵化市| 商丘市| 锡林浩特市| 武乡县| 惠水县| 游戏| 随州市| 阿图什市| 桂东县| 朝阳区| 铁岭市| 商水县| 弥渡县| 兴义市| 富平县| 错那县| 米脂县| 黑水县| 思南县|