📄 implicitobjectelresolver.java
字号:
} } } return null; } }; } return this.cookie; } public Map getHeader() { if (this.header == null) { this.header = new ScopeMap() { protected Enumeration getAttributeNames() { return ((HttpServletRequest) page.getRequest()) .getHeaderNames(); } protected Object getAttribute(String name) { return ((HttpServletRequest) page.getRequest()) .getHeader(name); } }; } return this.header; } public Map getHeaderValues() { if (this.headerValues == null) { this.headerValues = new ScopeMap() { protected Enumeration getAttributeNames() { return ((HttpServletRequest) page.getRequest()) .getHeaderNames(); } protected Object getAttribute(String name) { Enumeration e = ((HttpServletRequest) page.getRequest()) .getHeaders(name); if (e != null) { List list = new ArrayList(); while (e.hasMoreElements()) { list.add(e.nextElement().toString()); } return (String[]) list.toArray(new String[list .size()]); } return null; } }; } return this.headerValues; } public Map getInitParam() { if (this.initParam == null) { this.initParam = new ScopeMap() { protected Enumeration getAttributeNames() { return page.getServletContext().getInitParameterNames(); } protected Object getAttribute(String name) { return page.getServletContext().getInitParameter(name); } }; } return this.initParam; } public PageContext getPageContext() { return this.page; } public Map getPageScope() { if (this.pageScope == null) { this.pageScope = new ScopeMap() { protected void setAttribute(String name, Object value) { page.setAttribute(name, value); } protected void removeAttribute(String name) { page.removeAttribute(name); } protected Enumeration getAttributeNames() { return page .getAttributeNamesInScope(PageContext.PAGE_SCOPE); } protected Object getAttribute(String name) { return page.getAttribute(name); } }; } return this.pageScope; } public Map getParam() { if (this.param == null) { this.param = new ScopeMap() { protected Enumeration getAttributeNames() { return page.getRequest().getParameterNames(); } protected Object getAttribute(String name) { return page.getRequest().getParameter(name); } }; } return this.param; } public Map getParamValues() { if (this.paramValues == null) { this.paramValues = new ScopeMap() { protected Object getAttribute(String name) { return page.getRequest().getParameterValues(name); } protected Enumeration getAttributeNames() { return page.getRequest().getParameterNames(); } }; } return this.paramValues; } public Map getRequestScope() { if (this.requestScope == null) { this.requestScope = new ScopeMap() { protected void setAttribute(String name, Object value) { page.getRequest().setAttribute(name, value); } protected void removeAttribute(String name) { page.getRequest().removeAttribute(name); } protected Enumeration getAttributeNames() { return page.getRequest().getAttributeNames(); } protected Object getAttribute(String name) { return page.getRequest().getAttribute(name); } }; } return this.requestScope; } public Map getSessionScope() { if (this.sessionScope == null) { this.sessionScope = new ScopeMap() { protected void setAttribute(String name, Object value) { ((HttpServletRequest) page.getRequest()).getSession() .setAttribute(name, value); } protected void removeAttribute(String name) { HttpSession session = page.getSession(); if (session != null) { session.removeAttribute(name); } } protected Enumeration getAttributeNames() { HttpSession session = page.getSession(); if (session != null) { return session.getAttributeNames(); } return null; } protected Object getAttribute(String name) { HttpSession session = page.getSession(); if (session != null) { return session.getAttribute(name); } return null; } }; } return this.sessionScope; } } private abstract static class ScopeMap extends AbstractMap { protected abstract Enumeration getAttributeNames(); protected abstract Object getAttribute(String name); protected void removeAttribute(String name) { throw new UnsupportedOperationException(); } protected void setAttribute(String name, Object value) { throw new UnsupportedOperationException(); } public final Set entrySet() { Enumeration e = getAttributeNames(); Set set = new HashSet(); if (e != null) { while (e.hasMoreElements()) { set.add(new ScopeEntry((String) e.nextElement())); } } return set; } private class ScopeEntry implements Map.Entry { private final String key; public ScopeEntry(String key) { this.key = key; } public Object getKey() { return (Object) this.key; } public Object getValue() { return getAttribute(this.key); } public Object setValue(Object value) { if (value == null) { removeAttribute(this.key); } else { setAttribute(this.key, value); } return null; } public boolean equals(Object obj) { return (obj != null && this.hashCode() == obj.hashCode()); } public int hashCode() { return this.key.hashCode(); } } public final Object get(Object key) { if (key != null) { return getAttribute(key.toString()); } return null; } public final Object put(Object key, Object value) { if (key == null) { throw new NullPointerException(); } if (value == null) { this.removeAttribute(key.toString()); } else { this.setAttribute(key.toString(), value); } return null; } public final Object remove(Object key) { if (key == null) { throw new NullPointerException(); } this.removeAttribute(key.toString()); return null; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -