黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 EL表達(dá)式取值的范圍

EL表達(dá)式取值的范圍

更新時(shí)間:2020-08-24 11:10:50 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1465次


有些朋友對(duì)于EL表達(dá)式取值的范圍不是很了解,在Struts2中對(duì)request進(jìn)行了裝飾,增強(qiáng)了getAttribute()方法,改變了EL該方法的查找范圍,具體為,查找request域,不存在,查找值棧,不存在,查找ContextMap,還是不存在,則返回null。


EL表達(dá)式取值


因?yàn)?{對(duì)象名},會(huì)使用findAttribute的查找,其順序是page域->request域->session域->application域原理如下:


public class PageContext{


   //在page域中根據(jù)name獲取value
   public Object getAttribute(String name){
      return "找到了返回對(duì)象" | "沒(méi)找到返回null";
   }
   
   //從四個(gè)域中逐個(gè)搜索,只要在其中一個(gè)找到,就不再繼續(xù)尋找
   public Object findAttribute(String name){
      Object value = null;
      //搜page域
      value = this.getAttribute(name);
      if(value != null){
         return value;
      }
      //搜request域
      value = this.getRequest().getAttribute(name);
      if(value != null){return value;}//搜session域value = this.getSession().getAttribute(name);if(value != null){return value;}//搜a(bǔ)pplication域value = this.getServletContext().getAttribute(name);if(value != null){return value;}return value;}}


PS:由上述原因,Struts2對(duì)request進(jìn)行了裝飾,那么訪問(wèn)順序變?yōu)閜age域->request域->值棧->ContextMap->session->application。


如果還想深究源碼,可以參考ServletConfigInterceptor攔截器


public class ServletConfigInterceptor extends AbstractInterceptor implements StrutsStatics {
   private static final long serialVersionUID = 605261777858676638L;
   public String intercept(ActionInvocation invocation) throws Exception {
       final Object action = invocation.getAction();
       final ActionContext context = invocation.getInvocationContext();

       if (action instanceof ServletRequestAware) {
           HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST);
           ((ServletRequestAware) action).setServletRequest(request);
       }

       if (action instanceof ServletResponseAware) {
           HttpServletResponse response = (HttpServletResponse) context.get(HTTP_RESPONSE);
           ((ServletResponseAware) action).setServletResponse(response);
       }

       if (action instanceof ParameterAware) {
           ((ParameterAware) action).setParameters((Map)context.getParameters());
       }

       if (action instanceof ApplicationAware) {
           ((ApplicationAware) action).setApplication(context.getApplication());
       }

       if (action instanceof SessionAware) {
           ((SessionAware) action).setSession(context.getSession());
       }

       if (action instanceof RequestAware) {
           ((RequestAware) action).setRequest((Map) context.get("request"));
       }

       if (action instanceof PrincipalAware) {
           HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST);
           if(request != null) {
              // We are in servtlet environment, so principal information resides in HttpServletRequest
              ((PrincipalAware) action).setPrincipalProxy(new ServletPrincipalProxy(request));
           }
       }
       if (action instanceof ServletContextAware) {
           ServletContext servletContext = (ServletContext) context.get(SERVLET_CONTEXT);
           ((ServletContextAware) action).setServletContext(servletContext);
       }
       return invocation.invoke();
   }
}


以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“EL表達(dá)式取值的范圍”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲毛片在线播放 | 成年午夜视频免费观看视频 | 无遮挡h黄漫动漫在线观看 无遮挡h纯内动漫在线观看 | 国产女女互摸互慰在线观看 | 久久免费视频1 | 高清不卡日本v在线二区 | 免费看黄的网页 | 亚洲午夜一区 | 亚洲免费黄色 | 欧美一级片在线播放 | 轻轻啪qqp.cc | 美女视频永久黄网站免费观看韩国 | 成人午夜在线观看国产 | 国产亚洲视频网站 | 最近中文字幕视频完整 | 久久天天丁香婷婷中文字幕 | 国产精品亚洲欧美动漫卡通 | 印度一级毛片免费的 | 99精品视频在线观看 | 东京加勒比中文字幕波多野结衣 | 九色福利 | 97国产精品视频观看一 | 天天干天天操天天舔 | 在线播放亚洲精品富二代91 | 日本成人一级 | 制服丝袜视频在线观看 | 国产精品一区二区三区免费视频 | 一级毛片视频在线观看 | 毛片黄| 国产日韩欧美综合在线 | 免费特级黄毛片在线成人观看 | 麻豆一区二区三区在线观看 | 日韩综合第一页 | 欧美黄成人免费网站大全 | 毛片18| 国产精品成人h片在线 | 成年日韩免费大片黄在线观看 | www.羞羞| 日韩欧美精品在线视频 | 九九视频在线看精品 | 男人女人的免费视频网站 |