- private JS params = new JS() {
- public Object get(Object key) { return request.getParameter(JS.toString(key)); }
- public Enumeration keys() { return request.getParameterNames(); }
- };
- private JS cookies = new JS() {
- /*
- public Object get(Object key) { return request.getCookie(JS.toString(key)); }
- public Enumeration keys() { return request.getCookieNames(); }
- */
- };
- private JS sessionAttributes = new JS() {
- public Object get(Object key) { return request.getSession(true).getAttribute(JS.toString(key)); }
- public void put(Object key, Object val) {
- if (val == null) request.getSession(true).removeAttribute(JS.toString(key));
- else request.setAttribute(JS.toString(key), val); }
- public Enumeration keys() { return request.getSession(true).getAttributeNames(); }
- };
- private JS requestHeader = new JS() {
- public Object get(Object key) { return request.getHeader(JS.toString(key)); }
- public Enumeration keys() { return request.getHeaderNames(); }
- };
- private JS responseHeader = new JS() {
- public void put(Object key, Object val) { response.setHeader(JS.toString(key), JS.toString(val)); }
- };
-
-
- /** lets us put multi-level get/put/call keys all in the same method */
- private class Sub extends JS {
- Object key;
- Sub(Object key) { this.key = key; }
- public void put(Object key, Object val) throws JSExn {
- ServletScope.this.put(JS.toString(this.key) + "." + JS.toString(key), val); }
- public Object get(Object key) throws JSExn {
- return ServletScope.this.get(JS.toString(this.key) + "." + JS.toString(key)); }
- public Object call(Object a0, Object a1, Object a2, Object[] rest, int nargs) throws JSExn {
- return ServletScope.this.callMethod(this.key, a0, a1, a2, rest, nargs);
- }
- public Object callMethod(Object method, Object a0, Object a1, Object a2, Object[] rest, int nargs) throws JSExn {
- return ServletScope.this.callMethod(JS.toString(this.key) + "."
- + JS.toString(method), a0, a1, a2, rest, nargs);
- }
- }
- private Sub getSub(String key) { return new Sub(key); }