Hi,
I'm trying to refresh a part of my form with Sring Javascript and tiles fragments: on a select change, I want to populate and refresh another select input.
It works well when I reload the whole page but when I reload only the second select via Ajax, I have an exception:
Here is my code:Code:java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'children' available as request attribute
Flow definition
Code:[...] <view-state id="form" view="keyword.edit"> <on-render> <evaluate expression="editKeywordAction.setupForm" /> </on-render> <transition on="changeTree"> <evaluate expression="editKeywordAction.bind" /> <evaluate expression="editKeywordAction.changeTree" /> <render fragments="children" /> </transition> <transition on="save" to="finish"> <evaluate expression="editKeywordAction.bindAndValidate" /> <evaluate expression="editKeywordAction.save" /> </transition> <transition on="cancel" to="cancel" /> </view-state> [...]
Tiles definition
JSPCode:<definition name="keyword.edit" template="/jsp/edit.jsp"> <put-attribute name="children" value="/jsp/children.jsp" /> </definition>
edit.jsp
children.jspCode:<script type="text/javascript"> function changeTree() { $('_eventId').value = 'changeTree'; Spring.remoting.submitForm('tree', 'keyword', {fragments: 'children'}); return false; } </script> <form:form commandName="keyword" name="keyword" action="${flowExecutionUrl}"> <input type="hidden" name="_eventId" id="_eventId" value="save" /> <form:select path="tree" id="tree" onchange="changeTree()" multiple="false"> <form:options items="${trees}" /> </form:select> <tiles:insertAttribute name="children" /> </form:form>
ExceptionCode:<form:select path="children" id="children" multiple="false"> <form:options items="${children}" /> </form:select>
Does that means I can only reload the whole form (including the form:form tags) and not only some inputs of this form ?Code:java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'childTest' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:172) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:192) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:158) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:121) at org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:379) at org.springframework.web.servlet.tags.form.SelectTag.writeTagContent(SelectTag.java:198) at org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:90) at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:77)


Reply With Quote
