今天在學(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=<%=idd%>" method="post">
問題就出現(xiàn)了 原來的
<%=idd%> 被換成了
<%=idd%>,而不是我需要的具體的值,原來可以不用<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)指教!