将多维数组从jsp传递给控制器
我正在创建一个更新页面,我使用jquery创建一个二维数组,其中包含更新的propertyName和旧值。 我这样做是为了不需要在服务器上检查更新的属性。 这个updatedParam变量我需要将它传递给Spring控制器。 该怎么做? 此变量不是模型支持表单的一部分。
我在控制器中尝试了以下操作,但它不起作用
@RequestMapping(value = "/updateEmployee.html", method = RequestMethod.POST) public String updateEmployee( BindingResult result, @ModelAttribute("employee") Employee employee, ModelMap model, @ModelAttribute(value = "updatedParam") Map updatedParam) {
我甚至试过这个,但即使它不起作用
@RequestMapping(value = "/updateEmployee.html", method = RequestMethod.POST) public String updateEmployee( BindingResult result, @ModelAttribute("employee") Employee employee, ModelMap model, @ModelAttribute(value = "updatedParam") String[][] updatedParam) {
注意:updatedParam是我在jsp中生成的变量,当我在表单提交上调用此操作时,我希望传递该变量。
另请注意表单提交代码
$("#updateEmployeeForm").submit(function(){ //Compute updatedParam Here // I tried submiting the form using ajax and passing updated param as data but does not work });
请指教。 在firebug控制台中,我不断收到以下错误消息,但我认为它与此无关
未声明HTML文档的字符编码。 如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。 必须在文档或传输协议中声明页面的字符编码。
我这样做是为了不需要在服务器上检查更新的属性。
这是错的。
您应该始终检查服务器上用户发送的所有内容。
客户端validation是不够的,因为客户端很容易欺骗它。
我建议的只是使propertyName
成为表单支持对象的一部分并validation它的服务器端。