Struts2:前後臺的資料互動
頁面獲取action傳來的值:
方法一:使用Java程式碼
<%= request.getParameter("str")%><%=request.getAttribute("str")%>
方法二:使用EL表示式
${str}
方法三:使用Struts2標籤
從ValueStack取值:
<s:property value="name"/>
<s:property value="user"/>
<s:property value="user.id"/>
從ActionContext中取值.
取值的時候需要加上一個符號:#
<s:property value="#user"/>
<s:property value="#user.id"/>
<s:property value="#parameters.name"/><br>
//獲得request中key為MyName的值
<s:property value="#request.MyName"/><br>
//獲得session中key為MyName的值的值
<s:property value="#session.MyName"/><br>
//獲得application中key為MyName的值的值
<s:property value="#application.MyName"/><br>
action向頁面傳值:
方法一:放在request裡:
1、通過ActionContext的例項化物件的put:
ActionContext context = ActionContext.getContext();
cotenxt.put(key, value);
對應前端取值的4種方式:
<%=request.getAttribute("str") %>
${str}
<s:property value="str"/>
<s:property value="#request.str"/>
2、通過ActionContext的例項化物件的get:
Map request = (Map)ActionContext.getContext().get("request");
request.put(key,value);
獲取方法同上(不可用S標籤)
3、通過ServletActionContext獲取request:
HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute(key, value);
方法二:放在session裡面:
1、通過request獲取session
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession(); session.setAttribute(key, value);
2、通過ActionContext獲取session
HttpSession session =ActionContext.getContext().getSession();
session.setAttribute(key, value);
方法三:使用ValueStack
ValueStack vs = ActionContext.getContext().getValueStack();
User user = new User();
vs.push(user);
附:ActionContext
1、每一次請求都會建立一個ActionContext物件(也會建立一個ValueStack),struts框架預設向這個物件裡面存放的物件(資料)很多,包括request、session、application、ValueStack、parameters等。
2、request session application的map型別獲取:
(1)手動獲取
ActionContext ac = ActionContext.getContext();
//獲得Map型別request
Map<String,Object> request =
(Map<String, Object>) ac.get("request");
//獲得Map型別session
Map<String, Object> session = ac.getSession();
//獲得Map型別application
Map<String, Object> application = ac.getApplication();
(2)自動獲取(通過繼承介面)
三個介面依次為:
RequestAware,SessionAware,ApplicationAware
public class WebActionTest extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
private Map<String, Object> request;
private Map<String, Object> session;
private Map<String, Object> application;
@Override
public String execute() throws Exception {
//頁面中用原型別的物件取正常值就可以了
request.put("MyName", "tom");
session.put("YourName", "zhansan");
application.put("HerName", "lily");
return SUCCESS;
}
public void setRequest(Map<String, Object> request) {
this.request = request;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setApplication(Map<String, Object> application) {
this.application = application;
}
}
get and go!
相關推薦
Struts2:前後臺的資料互動
頁面獲取action傳來的值: 方法一:使用Java程式碼 <%= request.getParameter("str")%><%=request.getAttribute("str")%> 方法二:使用EL表示式
C#通過ajax前後臺資料互動
這兩天想學習下自己寫一個網頁框架,第一個就卡死我了,不知道怎麼從前臺去訪問後臺,並接受後臺資料,折騰百度幾天,終於可以了,之前一直用MVC好容易傳遞,到C#哭死。 1.先建立一個專案,有一個Default頁面(如果建立的是空白的,你就自己建一個WebForm頁面) .cs檔案程式碼 注意
ASP.NET—007:GridView資料的儲存($.ajax實現前後臺互動)
原文作者:楊友山前面看了如何增加和刪除Gridview資料,但是無論怎樣Gridview的資料除了展示給使用者外,還需要進行編輯後儲存的。也就是將Gridview的資料獲取下來傳到後臺,然後後臺經過識別和處理獲得資料,儲存至資料庫中。主要原理還是前面的$.ajax方式傳資料。
白喬原創:圖資料線上互動框架InteractiveGraph
InteractiveGraph 詳細介紹 InteractiveGraph 是一個使用JavaScript開發的開源專案,為大規模圖資料提供了一個基於Web的互動操作框架,其資料可以來自於本地的GSON檔案。 &nb
白喬原創:圖資料線上互動伺服器 InteractiveGraph-neo4j
InteractiveGraph-neo4j日前釋出v0.0.1版本。 InteractiveGraph-neo4j基於Neo4j資料庫為InteractiveGraph提供伺服器後端。InteractiveGraph為大型圖資料提供了一個基於web的互動操作框架,其資料可以來自於GSON檔
WebService手寫簡單案例:客戶端與服務端的資料互動
本篇部落格是模擬服務端釋出服務,客戶端模擬接收服務端的返回資料的一個簡單案例(客戶端輸入姓名,服務端根據客戶端輸入的姓名模糊查詢身份證的案例) 服務端釋出服務 1.專案準備工作:新建一個web專案,匯入mysql的jar包放入工程,寫好jdbc連線,寫好實體類,寫dao,不同的
Vue.js學習記錄-12-Vue去哪兒網專案實戰:城市列表頁開發-Header + Vuex實現資料互動
Header:城市資訊選擇標題展示 在此元件中,主要做了向Home元件的頁面路由跳轉 <template>:需要注意的是被<router-link>包裹的標籤會使原標籤樣式無效,類似<a>。 解決方案上篇文章已經給出:https://blog
使用ajax進行前後臺的資料互動
1 什麼是ajax: 非同步的JavaScript和xml,跟後臺互動,都用json 2 ajax幹啥用的? 前後端做資料互動: 3 特點: -非同步(非同步和同步的區別:同步是請求發過去,要等著迴應;非同步:不需要等迴應,可以進行其他操作) -區域性重新整理: 4 使用ajax實
JavaWeb+Servlet:(二)Ajax非同步登入註冊?Servlet+Json 資料互動
上一篇文章已經將Dao層搭建好了,所以只需要編寫jsp及servlet。 具體專案訪問GitHub:連結 一、登入 1. 登入介面(index.jsp) 需要匯入並載入 jquery.js檔案 <%@ page language="java" contentType="te
Struts2框架的資料封裝一之屬性封裝(屬性封裝的第二種方式:封裝成javaBean)
Struts2中提供了兩類資料封裝的方式? 第一種方式:屬性驅動(有兩種方式:一個對屬性,另外一個是將引數封裝到javaBean中) B. 在頁面上,使用OGNL表示式進行資料封裝。(將引數封裝到javaBean中) * 在頁面中使用OGNL表示式進行資料的封裝,就可以直接把屬性封
你必須知道的React的知識點:單向資料流,高效能虛擬DOM,元件間的資料互動,事件與資料的雙向繫結,生命週期鉤子,fetch:資料請求等
1、React除錯工具:React Developer Tools 2、React開發工具:Atom 3、React UI庫:Material-UI / Ant Deaign 4、React適用場景:資料不斷變化的大型應用程式 5、前端UI構建方式:資料模型、UI介面
struts2與springMvc下的AJax非同步資料互動2
struts2與springMvc下的AJax非同步資料互動2 2.springMVC下的ajax非同步資料通訊 ① 第一種與
struts2與springMvc下的AJax非同步資料互動1
struts2與springMvc下的AJax非同步資料互動1 無論是
Struts2與json資料的互動
前段時間對Struts2和json資料的互動有些問題,雖然Struts2的確是有點舊,但是因為專案的原因,還是決定記錄一下,以免忘記。 這裡主要是記錄從後臺傳到前段的問題 一般分為兩種方法: Struts.xml 1. <action name="getJso
Struts2框架與頁面的資料互動(2)--OGNL表示式&ValueStack
3、Struts2框架與頁面的資料互動(2)--OGNL表示式&ValueStack 上接Struts2礦街與頁面的資料互動(1)--資料封裝:https://blog.csdn.net/biggerchong/article/details/84564912 目錄
Struts2框架與頁面的資料互動(1)--資料封裝
2、Struts2框架與頁面的資料互動(1)--資料封裝 上接Sturts2框架入門學習:https://blog.csdn.net/biggerchong/article/details/84540183 目錄 2、Struts2框架與頁面的資料互動 2.1
《ServerSuperIO Designer IDE使用教程》-2.與硬體閘道器資料互動,並進行資料級聯轉發,直到雲端。釋出:v4.2.1版本
v4.2.1 更新內容:1.重新定義資料轉發文字協議,使閘道器與ServerSuperIO以及之間能夠相關互動資料。2.擴充套件ServerSuperIO動態資料類的方法,更靈活。3.修復Designer增加轉發任務的一個BUG。4.修改資料轉發客戶端和服務端。5.增加硬體閘道器驅動。 v4.2.1 下
Django-前後臺的資料互動
Django 從後臺往前臺傳遞資料時有多種方法可以實現。 最簡單的後臺是這樣的: from django.shortcuts import render def main_page(request): return render(request, 'index.html') 這個就是
Python Django 前後端資料互動 之 後端向前端傳送資料 Django 前後臺的資料傳遞
Django 前後臺的資料傳遞 嚴正宣告: 作者: psklf 出處: http://www.cnblogs.com/psklf/archive/2016/05/30/5542612.html 歡迎轉載,但未經作者同意,必須保留此段宣告;必須在文章中給出原文連線;否則必究法律責任!
JSP資料互動:內建物件session和include指令
什麼是會話?session一詞的原義是指有始有終的一系列動作,在實際應用中通常翻譯成會話。會話機制是一種伺服器端的機制,當用戶向伺服器發出第一次請求時,伺服器會為該使用者建立唯一的會話,會話將一直延續到使用者訪問結束。session物件作為JSP提供的內建物件之一,sessi