我正在创建一个更新页面,我使用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<String,String> 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范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。必须在文档或传输协议中声明页面的字符编码。
答案 0 :(得分:0)
我这样做是为了不需要在服务器上检查更新的属性。
这是错误的。
您应始终检查服务器上用户发送的所有内容 客户端验证是不够的,因为客户端很容易欺骗它。
我建议的只是让propertyName
成为表单支持对象的一部分并验证服务器端。