diff --git a/src/helma/framework/core/ESRequestData.java b/src/helma/framework/core/ESRequestData.java index 035f536c..eec2048a 100644 --- a/src/helma/framework/core/ESRequestData.java +++ b/src/helma/framework/core/ESRequestData.java @@ -15,13 +15,13 @@ import helma.objectmodel.INode; * An EcmaScript object that makes stuff in a hashtable accessible as its properties */ -public class ESRequestData extends ESObject { +public class ESRequestData extends ESWrapper { private Hashtable data; private RequestEvaluator reval; public ESRequestData (RequestEvaluator reval) { - super (null, reval.evaluator); + super (new Object(), reval.evaluator); this.reval = reval; } diff --git a/src/helma/framework/core/Skin.java b/src/helma/framework/core/Skin.java index 2463771e..90404e68 100644 --- a/src/helma/framework/core/Skin.java +++ b/src/helma/framework/core/Skin.java @@ -111,6 +111,7 @@ public class Skin { if (!escape && state == PARAMVALUE) { if (quotechar == cnt[i]) { parameters.put (lastParamName, b.toString()); + lastParamName = null; b.setLength (0); state = PARAMNAME; quotechar = '\u0000'; @@ -134,6 +135,7 @@ public class Skin { state = PARAMNAME; } else if (state == PARAMVALUE && quotechar == '\u0000') { parameters.put (lastParamName, b.toString()); + lastParamName = null; b.setLength (0); state = PARAMNAME; } else if (state == PARAMVALUE) @@ -154,8 +156,12 @@ public class Skin { escape = false; } } - if (lastParamName != null && b.length() > 0) - parameters.put (lastParamName, b.toString()); + if (b.length() > 0) { + if (lastParamName != null && b.length() > 0) + parameters.put (lastParamName, b.toString()); + else if (state <= MACRO) + name = b.toString().trim(); + } }