我在Springs Web Flow中遇到问题。如果用户单击表单提交按钮,则我的bean 中将有 RIGHT 值。
例如,性别字段为MALE或FEMALE。但是,然后我添加了一个 AjaxEventDecoration 来对性别下拉框的更改进行提交,这实际上是一种 形式:select, 并且在bean中,我将获得值 “ sex” ,即elementId。下面是我的代码,请您检查一下,让我知道您的想法…我需要尽快解决此问题…
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <style type="text/css" media="screen"> @import url("<c:url value="/resources/dojo/resources/dojo.css"/>"); @import url("<c:url value="/resources/dijit/themes/claro/claro.css"/>"); </style> <script djconfig="parseOnLoad: true" src="<c:url value="/resources/dojo/dojo.js"/>" type="text/javascript"></script> <script type="text/javascript" src="<c:url value="/resources/spring/Spring.js" />"> </script> <script type="text/javascript" src="<c:url value="/resources/spring/Spring-Dojo.js" />"></script> <script type="text/javascript">dojo.require("dojo.parser");</script> <html> <head> <title>Spring 3.0 MVC - Web Flow Example</title> </head> <body class="claro"> <h2>Dropdown Test</h2> <form:form commandName="customer" id="customer"> <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}" /> <div id="container"> <table> <tr> <td><font color=red><form:errors path="sex" /></font><b>Sex:</b></td> <td><form:select path="sex" id="sex"> <form:option value="MALE" label="MALE" /> <form:option value="FEMALE" label="FEMALE" /> </form:select> <script type="text/javascript"> Spring.addDecoration(new Spring.ElementDecoration({ elementId : "sex", widgetType : "dijit.form.Select", widgetAttrs : { promptMessage : "Enter Sex", required : true }})); </script></td></tr> </table> </div> <input type="submit" name="_eventId_submit" id="submit" value="Submit" /> <input type="submit" name="_eventId_cancel" value="Cancel" /> <p> <script type="text/javascript"> Spring.addDecoration(new Spring.ValidateAllDecoration({ elementId : 'submit', event : 'onclick' })); Spring.addDecoration(new Spring.AjaxEventDecoration({ elementId: "sex", event: "onChange", formId:"customer", params: {fragments:"body", _eventId: "loadSchools"}})); </script> </form:form> </body> </html>
您</b>在“有效”之后没有任何结束,但是</n>。 这些事情有时会导致奇怪的问题,例如您遇到的问题
</b>
</n>
修复它,然后再试一次
[编辑]我找到了一个解决方案给您pb:基本上删除您选择的装饰和ajax事件,并以此方式进行操作:
<tr> <td><font color=red><form:errors path="sex" /></font><b>Sex:</b></td> <td><form:select path="sex" id="sex" required="true" data-dojo-type="dijit/form/Select" onchange="Spring.remoting.submitForm('sex', 'customer', {fragments:'body', _eventId: 'loadSchools'}); return false;"> <form:option value="MALE" label="MALE" /> <form:option value="FEMALE" label="FEMALE" /> </form:select> </td> </tr>
似乎选择装饰存在一些问题…我将尝试看看是否可以找到另一种方法,但是我对此进行了测试,并且可以正常工作