❶ 怎麼把action中的值傳到jsp頁面
對於如何把struts2的action中的值傳到jsp頁面中,主要的方法有種:
使用轉發視圖利用request域中儲存所需的值
使用重定向時存儲數據進入session使其在jsp中可以獲得
下面,讓我們分先後的講解這2種方法!
准備步驟:
jsp頁面隨時准備使用el表達式獲取request中的值,
action中的值分2種,一種是在方法中誕生的,作用域也是方法內;一種是定義為類成員(並帶有get,set或者為public),此種方式只需賦值
2.操作流程:
對於action的類屬性,直接為其賦值(例如 message="Test";),然後在jsp頁面中使用el表達式取出這個值(${message },直接以類屬性名稱取值即可,el默認的取值域就是request,struts2會將action的所有帶有get,set的屬性自動的放入request域中【當然你也可以使用struts的標簽庫,不推薦】)
對於action中方法中產生的數據,又不想為其在action類中定義對應的成員,我們可以手動的將其存放進入request域中,在struts2中,有2種方式可以將數據存入request中,一種是通過ActionContext.getContext().put("message",message);直接放入將數據request域中,不獲取request本身,獲取其中的Map;另一種是使用ServletActionContext.getRequest().setAttribute("message",message);直接取得request對象,再使用request對象的方法setAttribute()方法存入數據!將數據存入request中後,jsp中取值並無差別(同上)!
准備步驟:同上!不同處是不管要存入的數據是不是類的屬性,我們都必須在方法中進行處理才能將數據存入session,而不能依靠struts2自動幫我們搞定!
操作流程:
不管數據是哪裡誕生的,得到數據後!比如為message;同上的第二種情況:也有2中方式將數據存入到session中:
a.在方法中通過ActionContext().getContext().getSession().put("message",message);首先獲取session中的map,再使用Map介面的方法put()存入數據
b.在方法中通過ServletActionContext().getRequest().getSession().setAttribute("message",message);首先獲取session對象,再使用session對象的setAttribute方法將數據存入session域
最後,不管那種方式將數據存入到session中,我們都可在jsp頁面中獲取session中的值,例如${sessionScope.message }
不論如何,總是將數據存入tomcat提供的幾個存數據的域中(request,session,application),然後在頁面通過EL表達式獲取即可!
❷ JSP如何獲得頁面所有參數的ID並傳入action
1.頁面上有一個<form><input type="hiddent" name="hiddenValue" id="hiddenText" /></form>
2.你可能是用js把值像這樣設置
var hiddentext = document.getElementById("hiddenText");
hiddentext.value="你的參數的ID"
3.後台的action中
request.getParameter("hiddenValue");
over
你需要注意的是
在頁面上js通過控制項的ID也就是id="hiddenText"來獲取該控制項
而後台的ACTION則是通過控制項的name也就是name="hiddenValue"屬性來獲得控制項的值
如果你是採用的傳統的ACTION提交方式,則頁面上需要一個<form></form>
❸ 在JSP頁面中定義參數,map
<s:iterator value="lname" >
<td>
<s:property /><br>
</td>
</s:iterator>
❹ struts2中jsp怎麼向action傳參
struts2
的action一般是通過屬性的set方法給頁面傳遞參數.,也就是在action中定義屬性,並且提供getter與setter,然後在方法中為該屬性賦值,就可以在頁面中得到該值
當然,也可以通過request的setAttribute()方法來傳遞參數,不過action要實現HttpServletRequestAware,或者action
實現requestAware,通過map.put(key,value)來傳遞參數
❺ jsp使用action中的map
可以使用struts的標簽。如在action中定義了一個
private String name;
那個在jsp頁面中這樣引用
<s:property value="name" />
如果action中定義了map,則在前台jsp中可以使用迭代器來引用(<s:iterator標簽)。
❻ jsp頁面像action中傳值問題,需要傳遞一個map
一定要通過表單提交嗎,這個比較麻煩,因為通過表單提交的數據,到後台都是內字元串數據,還得寫長法實現數容據的轉換
如果說不一定,可以考慮用session,這就簡單了,頁面先存,後台取,至於如何遍歷,方法很多,一搜一大堆
存 session.setAttribute("map",map);
取 Map map = (HashMap)session.getAtrribute("map");
❼ 怎樣從jsp頁面傳遞一個List<Map<String,Object>>的集合到Action
在jsp頁面把List<Map<String,Object>>值作為參數放在action屬性裡面然後提交
後台就直接在Action裡面getparameter
試試
❽ java中如何在前台jsp頁面封裝一個map並傳到後台啊
如果你是在jsp頁面嵌入java代碼,那就更後台代碼一樣,用request.setAttribute等方法就可以了。如回果不想在頁面嵌入java代碼,答用js這些是直接辦不到的。但是可以用json把參數通過鍵值對的方式傳到後台,實際跟map的思想都是一樣的。你可以查一下json的使用方法。