若以解耦的方式進(jìn)行訪問(wèn),組件框架之間相互獨(dú)立,能夠獨(dú)自正常運(yùn)行,不進(jìn)行依賴操作。如下圖:
其中獲取Session和Application的方法返回的均是Map,而獲取Request的方法返回的是Object,需要轉(zhuǎn)成Map。實(shí)際上,通過(guò)這種方式,是依賴于Map來(lái)進(jìn)行存取的。
以下為代碼實(shí)例:
if(username.equals("admin") && password.equals("123456") ) { // 獲取Session,返回map
Mapsession = ActionContext.getContext().getSession();
session.put("currentUser", username);
// 獲取Request,返回Object
Map request = (Map) ActionContext.getContext().get("request");
request.put("name", "ycz");
// 獲取Application,返回Map
Mapapplication = ActionContext.getContext().getApplication();
application.put("word","事與愿違");
return SUCCESS;
}
然后在頁(yè)面中可以直接取出Map中的值進(jìn)行使用:
若以耦合的方式訪問(wèn),組件框架之間相互依賴,缺少其中一個(gè)組件則可能無(wú)法正常運(yùn)行。如下圖:
這里返回的就不再是Map了,而是需要的各種類型,在頁(yè)面中需要從對(duì)應(yīng)的域中來(lái)取。代碼如下:
if(username.equals("admin") && password.equals("123456") ) { // 獲取Request
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("address", "四川成都");
// 獲取Session
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", username);
// 獲取
ServletContext context = ServletActionContext.getServletContext();
context.setAttribute("name", "程志毅");
return SUCCESS;
}
然后在頁(yè)面中從各個(gè)域中取出需要的值即可:
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧