Thanks to Jessie for his help fixing our last issue (We've updated to the ognl
2.7.2 snapshot which fixed it) but and have run into another issue migrating
form 4.0.2 to 4.1.3.

The following works fine under 4.0.2:

        <select jwcid="@Select"
                multiple="literal:false"
                size="10"

onchange="ognl:'searchSubmit(\''[EMAIL PROTECTED]@INSTRUMENT_GROUP+'\',0);'">
          <div jwcid="@For"
               source="ognl:tab.searchItems"
               value="ognl:currentSearchItem"
               index="ognl:currentSearchItemIndex">
          <option jwcid="@Option"

selected="ognl:tab.searchItems[currentSearchItemIndex].selected"

label="ognl:tab.searchItems[currentSearchItemIndex].displayName">
          </option>
          </div>
        </select>

Under 4.1.3 the page renders but then when the users selects an option and
submits the form we get the following error:

2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
tab.searchItems[currentSearchItemIndex].selected]
location|context:/WEB-INF/Search.html, line 82
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,237, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.OgnlException
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, source is null for getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
...

It looks like the index variable is going out of scope or something equally
strange.

If we update the template to:

        <select jwcid="@Select"
                multiple="literal:false"
                size="10"

onchange="ognl:'searchSubmit(\''[EMAIL PROTECTED]@INSTRUMENT_GROUP+'\',0);'">
          <div jwcid="@For"
               source="ognl:tab.searchItems"
               value="ognl:currentSearchItem"
               index="ognl:currentSearchItemIndex">
          <option jwcid="@Option"
                  selected="ognl:currentSearchItem.selected"

label="ognl:tab.searchItems[currentSearchItemIndex].displayName">
          </option>
          </div>
        </select>

The page renders and submits correctly.
In 4.0.2 we had avoided this syntax as it did not reliably save the value back
into the correct element, has this syntax changed in 4.1.3?

Unfortunately even with the above work around we hit a similar problem again
later in the form

        <select jwcid="@Select"
                multiple="literal:false"
                size="10"

onchange="ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',
 '+currentFilterGroupIndex+');'">
          <div jwcid="@For"
               source="ognl:currentFilterGroup"
               value="ognl:currentFilter"
               index="ognl:currentFilterIndex">
          <option jwcid="@Option"

selected="ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"
                  label="ognl:currentFilter">
          </option>
          </div>
        </select>

The above renders OK but then the form submits we get:

2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]]
location|context:/WEB-INF/Search.html, line 106
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.OgnlException
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, source is null for getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
...

again the index variable seems to have gone out of scope or something.

Any ideas what's changed between 4.0.2 and 4.1.3? Is this another ognl issue?

I know Andy mentioned we should consider cleaning up our markup in response to
my last post.
Is there something in particular we're doing that we should consider changing?

Thanks,

Dom

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to