错误的请求在Spring框架
问题描述:
我们正在尝试做的三级绑定绑定对象:错误的请求在Spring框架
祖父 - >(有很多)母公司 - >(有很多)儿童
我们的爷爷和父母保存在数据库中,然后他们有自动生成的ID。但是我们的孩子在某些情况下是新的,他们没有身份证明。
当我们通过AJAX这个信息发送到我们的服务器(Weblogic的),我们使用做一个绑定到数据:
@RequestMapping(value = "/blablabla/update", method = RequestMethod.POST)
public String updateProducts(@ModelAttribute GrandFather grandpa, BindingResult result, Model model) {
...
}
的结果是,你看到你的浏览器中的错误请求错误(使用萤火虫)。我们只看到孩子没有ID,其他的价值是完美的。你在服务器端看不到任何东西,你的方法的任何代码都会被执行。
这不会是一个问题,但它是。关于发生什么的任何想法?
谢谢。
注意。我们使用Spring框架; Spring MVC; Weblogic服务器和其他控制器和绑定正在工作。
更新:
使用的HTML代码:
<c:forEach items="${question.answers}" var="answer" varStatus="statusAnswer">
...
<c:forEach items="${answer.ratings}" var="rating" varStatus="statusRating">
...
<input type="hidden" name="questions[${statusQuestion.index}].id" value="${question.id}"/>
<input type="hidden" name="questions[${statusQuestion.index}].respuestas[${statusQuestion.index}].ratings[${statusRating.index}].id" value="${valoracion.id}" />
...
</c:forEach>
...
</c:forEach>
该如何发送它很难粘贴在这里有大量的JavaScript来填补对象的一些值。
答
是的,我有解决这个问题的方法。 如果您使用ajax发送数据,请不要使用模型属性。 使用控制器中的请求对象获取参数。这样
@RequestMapping(value = "/blablabla/update", method = RequestMethod.POST)
public String updateProducts(HttpServletRequest request, Model model) {
...
}
写代码,你可以发布你使用呼叫控制器的HTML代码?控制器中是否有任何带有@RequestParam的initBinder? – Javi 2011-05-18 11:48:16
我已经添加了我们使用的html代码。不,我们没有在Controller中使用任何initBinder。 – jenaiz 2011-05-18 13:23:07
@jenaiz我们看不到html代码。 – Javi 2011-05-18 14:17:54