X-Git-Url: http://git.megacz.com/?p=org.ibex.xt.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fxt%2FServlet.java;fp=src%2Forg%2Fibex%2Fxt%2FServlet.java;h=0265e23d11b72d95b188321332a06a4ee1dc65ce;hp=7a2b58f00978c208ded1432ae26248d72035c51b;hb=e8f5044051de70a1cdad65df9c5ed6bff3cd1a08;hpb=3f3b2560f1b42d5417b8622ae66648ec042b1159 diff --git a/src/org/ibex/xt/Servlet.java b/src/org/ibex/xt/Servlet.java index 7a2b58f..0265e23 100644 --- a/src/org/ibex/xt/Servlet.java +++ b/src/org/ibex/xt/Servlet.java @@ -54,24 +54,26 @@ public class Servlet extends HttpServlet { public class ServletScope extends JSSubProperties { HttpServletRequest request; HttpServletResponse response; + HttpSession session; ServletContext cx; public String getRealPath(String s) { return cx.getRealPath(s); } public ServletScope(ServletRequest request, ServletResponse response, ServletContext cx) { super(); this.request = (HttpServletRequest)request; this.response = (HttpServletResponse)response; + this.session = this.request.getSession(); this.cx = cx; } - // FIXME: setattributes - //#repeat params/cookies/requestHeader/attributes \ - // getParameter/getCookie/getHeader/getAttribute \ - // getParameterNames/getCookieNames/getHeaderNames/getAttributeNames \ - // request/request/request/session/response \ - // setParameter/setCookie/setHeader/setAttribute + // FIXME: setattributes, cookies + //#repeat params/requestHeader/attributes \ + // getParameter/getHeader/getAttribute \ + // getParameterNames/getHeaderNames/getAttributeNames \ + // request/request/session/response \ + // setAttribute/setAttribute/setAttribute private JS params = new JS.Obj() { public JS get(JS key) throws JSExn { return JSU.S(request.getParameter(JSU.toString(key)).toString()); } - public void put(JS key, JS val) throws JSExn { request.setParameter(JSU.toString(key), JSU.toString(val)); } + public void put(JS key, JS val) throws JSExn { request.setAttribute(JSU.toString(key), JSU.toString(val)); } public Enumeration keys() throws JSExn { return new JS.Enumeration.JavaStringEnumeration(request.getParameterNames()); } }; @@ -92,9 +94,9 @@ public class Servlet extends HttpServlet { case "request.ssl": return JSU.B(request.isSecure()); case "request.path": return JSU.S(request.getPathInfo()); case "response": return SUBPROPERTY; - case "response.header": return responseHeader; + case "form": return SUBPROPERTY; + case "form.fields": return currentForm.fields(); case "session": return SUBPROPERTY; - case "session.attr": return sessionAttributes; case "session.created": return new JSDate(request.getSession(true).getCreationTime()); case "session.accessed": return new JSDate(request.getSession(true).getLastAccessedTime()); case "session.invalidate": return METHOD; @@ -103,11 +105,13 @@ public class Servlet extends HttpServlet { case "context": return SUBPROPERTY; case "context.list": return METHOD; case "params": return params; - case "cookie": return cookies; //#end + // cookie, responseheader needed, session.attributes return null; } + Form currentForm = null; + public void put(JS key, JS val) throws JSExn { try { //#switch(JSU.toString(key))