環境上下文物件(WebContext)
為了讓開發人員隨時隨地取得並使用Request、Response、Session等Web容器對象,YMP框架在WebMVC模組中提供了一個名叫WebContext的Web環境上下文封裝類,簡單又實用,先了解提供的方法:
直接取得Web容器物件:
#取得ServletContext物件:
WebContext.getServletContext();#取得HttpServletRequest物件:
#WebContext.getRequest();取得HttpServletResponse物件:
#WebContext.getResponse();取得PageContext物件:
WebContext.getPageContext();
#取得WebMVC容器物件:
- 取得IRequestContext物件:
############################################################################ ####WebMVC請求上下文接口,主要用於分析請求路徑及儲存相關參數;###############取得WebContext物件實例:#########WebContext.getRequestContext();WebContext.getContext();######
WebContext將Application、Session、Request等Web容器物件的屬性轉換成Map映射存儲,同時向Map的賦值也將自動同步到物件的Web容器物件中,起初的目的是為了能夠方便程式碼移植並脫離Web環境依賴進行開發測試(功能參考Struts2):
WebContext.getContext().getApplication();
WebContext.getContext().getSession();
WebContext.getContext().getAttribute(Type.Context.REQUEST);
#原本可以透過WebContext.getContext().getRequest方法直接取得的,但由於設計上的錯誤,方法名已被WebContext.getRequest()佔用,若變更方法名受影響的項目太多,所以只好委屈它了:D,後面會介紹更多的輔助方法來操作Request屬性,所以可以忽略它的存在!
WebContext.getContext().getAttributes();
WebContext.getContext().getLocale();
WebContext.getContext().getOwner();
#WebContext.getContext().getParameters();
#WebContext運算Application的輔助方法:
#boolean getApplicationAttributeToBoolean(String name);
int getApplicationAttributeToInt( String name);
long getApplicationAttributeToLong(String name);
String getApplicationAttributeToString(String name);
#<T> T getApplicationAttributeToObject(String name);
WebContext addApplicationAttribute(String name, Object value)
- # #WebContext操作Session的輔助方法:
boolean getSessionAttributeToBoolean(String name);
- ##int getSessionAttributeToInt(String name);
int getSessionAttributeToInt(String name);
- long getSessionAttributeToLong(String name);
- ##String getSessionAttributeToString(String name);
- < ;T> T getSessionAttributeToObject(String name);
WebContext addSessionAttribute(String name, Object value)
String getRequestAttributeToString(String name);############ (String name);############WebContext addRequestAttribute(String name, Object value)###############WebContext操作Parameter的輔助方法:## #############boolean getParameterToBoolean(String name);############int getParameterToInt(String name)############# long getParameterToLong(String name);############String getParameterToString(String name);###############WebContext操作Attribute的輔助方法:## #
- ##WebContext作業Request的輔助方法:
boolean getRequestAttributeToBoolean(String name);
- ##int getRequestAttributeToInt(String name);
int getRequestAttributeToInt(String name);- #long getRequestAttributeToLong(String name);
##WebContext取得IUploadFileWrapper上傳檔案包裝器:
T getAttribute(String name); WebContext addAttribute(String name, Object value);
##IUploadFileWrapper getUploadFile(String name);
#- IUploadFileWrapper[] getUploadFiles(String name);