環(huán)境上下文對象(WebContext)

2018-12-24 22:47 更新

為了讓開發(fā)人員能夠隨時隨地獲取和使用Request、Response、Session等Web容器對象,YMP框架在WebMVC模塊中提供了一個名叫WebContext的Web環(huán)境上下文封裝類,簡單又實用,先了解一下提供的方法:

直接獲取Web容器對象:

  • 獲取ServletContext對象:

      WebContext.getServletContext();
    
  • 獲取HttpServletRequest對象:

      WebContext.getRequest();
    
  • 獲取HttpServletResponse對象:

      WebContext.getResponse();
    
  • 獲取PageContext對象:

      WebContext.getPageContext();
    

獲取WebMVC容器對象:

  • 獲取IRequestContext對象:

      WebContext.getRequestContext();
    

WebMVC請求上下文接口,主要用于分析請求路徑及存儲相關(guān)參數(shù);

  • 獲取WebContext對象實例:

      WebContext.getContext();
    

WebContext將Application、Session、Request等Web容器對象的屬性轉(zhuǎn)換成Map映射存儲,同時向Map的賦值也將自動同步至對象的Web容器對象中,起初的目的是為了能夠方便代碼移植并脫離Web環(huán)境依賴進行開發(fā)測試(功能參考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);

  • long getSessionAttributeToLong(String name);

  • String getSessionAttributeToString(String name);

  • <T> T getSessionAttributeToObject(String name);

  • WebContext addSessionAttribute(String name, Object value)

WebContext操作Request的輔助方法:

  • boolean getRequestAttributeToBoolean(String name);

  • int getRequestAttributeToInt(String name);

  • long getRequestAttributeToLong(String name);

  • String getRequestAttributeToString(String name);

  • <T> T getRequestAttributeToObject(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的輔助方法:

  • <T> T getAttribute(String name);

  • WebContext addAttribute(String name, Object value);

WebContext獲取IUploadFileWrapper上傳文件包裝器:

  • IUploadFileWrapper getUploadFile(String name);

  • IUploadFileWrapper[] getUploadFiles(String name);

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號