我在Spring应用程序中有一个控制器,我想用它来处理更改CSS的HTML表单。因此,我将表单的动作设置为“ changeCSS”,然后控制器从那里接管。我的问题是:我如何真正获得在表单中提交的值?我在网上找到的资源过于复杂,希望我创建我不需要的模型对象。
我要查找的值称为color1,color2等,它们应替换String.format()方法中的硬编码颜色值。
@RequestMapping(value = "changeCSS", method = RequestMethod.GET)
public String changeCss() {
BufferedWriter writer;
try {
String colorNewSettings3 = String.format(colorSettings.get("3"), "#000");
String colorNewSettings4 = String.format(colorSettings.get("4"), "#fff");
String path = context.getRealPath("/static/css/custom.css");
BufferedWriter out = new BufferedWriter(new FileWriter(path));
out.write(colorNewSettings3+colorNewSettings4);
out.close();
} catch (IOException e) {
e.printStackTrace(); //Use a Logger here
}
return "settings";
}
答案 0 :(得分:0)
获取表单参数的最简单方法如下例所示。这要求您创建一个Model对象,我认为这不是一个过分的追求。
https://spring.io/guides/gs/handling-form-submission/
现在,如果您不想这样做,而是坚持使用GET选择每个值,那么下面的代码段就可以做到这一点。
http://localhost:8080/changeCSS?color1=green&color2=red
@RequestMapping(value = "/changeCSS", method = RequestMethod.GET)
public String changeCss(@RequestParam("color1") String color1, @RequestParam("color2") String color2) {
....
}