X-Git-Url: http://git.megacz.com/?p=org.ibex.xt-crawshaw.git;a=blobdiff_plain;f=src%2Fjava%2Forg%2Fibex%2Fxt%2FServlet.java;fp=src%2Fjava%2Forg%2Fibex%2Fxt%2FServlet.java;h=78d1d916e4c57545963fb295df50a4ecee30b0fe;hp=71eedbb295c468b5275571e42d39fd05e32cb254;hb=7959860be8bb0ac8aa172e1de8bb140b65afdae6;hpb=e2e46233d9db6fe8728421016a41d5bf79db86e5 diff --git a/src/java/org/ibex/xt/Servlet.java b/src/java/org/ibex/xt/Servlet.java index 71eedbb..78d1d91 100644 --- a/src/java/org/ibex/xt/Servlet.java +++ b/src/java/org/ibex/xt/Servlet.java @@ -96,13 +96,13 @@ public class Servlet extends HttpServlet { //#end return super.get(key); } - public void put(Object key, Object val) throws JSExn { + public Object put(Object key, Object val) throws JSExn { //#switch(JS.toString(key)) case "created": throw new JSExn("can not set session.created"); case "accessed": throw new JSExn("can not set session.accessed"); case "invalidate": throw new JSExn("can not set session.invalidate"); //#end - super.put(key, val); + return super.put(key, val); } public Object callMethod(Object method, final Object a, final Object b, Object c, Object[] rest, int nargs) throws JSExn { @@ -128,9 +128,10 @@ public class Servlet extends HttpServlet { private List keys = null; public Object get(Object key) { return request.getSession(true).getAttribute(JS.toString(key)); } - public void put(Object key, Object val) { + public Object put(Object key, Object val) { if (val == null) request.getSession(true).removeAttribute(JS.toString(key)); - else request.setAttribute(JS.toString(key), val); } + else request.setAttribute(JS.toString(key), val); + return null; } public Collection keys() { return keys == null ? keys = Collections.list(request.getSession(true).getAttributeNames()) : keys; } }; @@ -141,8 +142,8 @@ public class Servlet extends HttpServlet { return keys == null ? keys = Collections.list(request.getHeaderNames()) : keys; } }; private JS responseHeader = new JS() { - public void put(Object key, Object val) { - response.setHeader(JS.toString(key), JS.toString(val)); } + public Object put(Object key, Object val) { + response.setHeader(JS.toString(key), JS.toString(val)); return null; } }; @@ -150,8 +151,8 @@ public class Servlet extends HttpServlet { private class Sub extends JS { Object key; Sub(Object key) { this.key = key; } - public void put(Object key, Object val) throws JSExn { - Scope.this.put(JS.toString(this.key) + "." + JS.toString(key), val); } + public Object put(Object key, Object val) throws JSExn { + return Scope.this.put(JS.toString(this.key) + "." + JS.toString(key), val); } public Object get(Object key) throws JSExn { return Scope.this.get(JS.toString(this.key) + "." + JS.toString(key)); } public Object call(Object a0, Object a1, Object a2, Object[] rest, int nargs) throws JSExn { @@ -206,13 +207,14 @@ public class Servlet extends HttpServlet { //#end return null; } - public void put(Object key, Object val) throws JSExn { + public Object put(Object key, Object val) throws JSExn { try { //#switch(JS.toString(key)) case "response.code": response.setStatus(JS.toInt(val)); case "response.redirect": response.sendRedirect(JS.toString(val)); case "response.contentType": response.setContentType(JS.toString(val)); //#end + return null; } catch (IOException e) { throw new JSExn(e); }