/**
* @Description:表单控制器
*
* @author youyang_java@139.com
*
*/
@Controller
@RequestMapping("/edit.htm")
@SessionAttributes("curDemo")
public class FormController {
@Resource
private Validator demoValidator;
@InitBinder
public void initBinder(WebDataBinder binder){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(format,false));
}
@ModelAttribute("birthes")
public Map<String, String> getList(){
Map<String, String> map = new HashMap<String, String>();
map.put("2011-4-28","生日1");
map.put("2011-5-2","生日2");
map.put("2011-6-28","生日3");
map.put("2011-6-2","生日4");
return map;
}
@RequestMapping(method=RequestMethod.GET)
public String setUpForm(@RequestParam(required=false)String name,ModelMap map){
Demo demo = new Demo();
if (StringUtils.isNotBlank(name)) {
System.out.println(name);
demo.setName(name);
demo.setId(1l);
}
map.put("curDemo", demo);
return "/test/editForm";
}
@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@ModelAttribute("curDemo")Demo demo,BindingResult result,SessionStatus status,ModelMap map){
demoValidator.validate(demo, result);
if (result.hasErrors()) {
return "/test/editForm";
}
Demo curDemo = (Demo) map.get("curDemo");
System.out.println("curDemo------"+curDemo.getId());
System.out.println("curDemo------"+curDemo.getName());
System.out.println("curDemo------"+curDemo.getBirth());
System.out.println(demo.getId());
System.out.println(demo.getName());
System.out.println(demo.getBirth());
status.setComplete();
return "redirect:/success.htm";
}
}
@InitBinder
public void initBinder(WebDataBinder binder)
@InitBinder注解将定制的属性编辑器注册到绑定对象上。
@ModelAttribute("birthes")
public Map<String, String> getList()
把@ModelAttribute注解使用到方法上,则在表单在展示前会调用该方法,并把方法的返回值放到模型中。
@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@ModelAttribute("curDemo")Demo demo,BindingResult result,SessionStatus status,ModelMap map)
把@ModelAttribute注解使用到方法参数上,可以从模型中得到命令对象,并绑定到方法上。不过该注解可以不使用。
status.setComplete();
表单执行完成,清空session里面的值。
分享到:
相关推荐
在表单设计器中,JavaScript主要用于控制表单元素的创建、布局、事件绑定以及数据的序列化和反序列化。 4. **核心功能** - **元素拖放**:用户可以通过鼠标将预设的表单元素从工具箱拖放到工作区,实现元素的添加...
基于Vue.js的扩展组件则进一步提升了开发效率,例如"基于ElementUI的表单设计器",即本文要讨论的"f-render"。 标题中的"基于ElementUI的表单设计器"指的是一款专门用于创建表单的工具,它利用了ElementUI这一优秀...
"表单设计器"是一款基于富文本编辑器CKEditor开发的强大工具,主要用于帮助用户轻松创建、设计和管理各种类型的在线表单。CKEditor是一款知名的开源富文本编辑器,它提供了丰富的文本格式化选项,使得在网页上创建...
- **源码**:可能包含一个基于CodeIgniter框架的控制器、模型、视图文件,用于处理表单的展示、提交和验证。 - **CSS样式文件**:可能包含用于定制表单样式的CSS文件,与Bootstrap框架兼容。 - **JavaScript脚本**:...
MVC将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,实现了业务逻辑、用户界面和数据处理的分离。模型负责数据的存储和业务逻辑,视图负责展示数据,而控制器作为桥梁,处理用户的输入并...
2. CSS文件:包含Bootstrap样式和其他自定义样式,用于控制表单构建器的视觉表现。 3. JavaScript文件:包含表单构建器的核心逻辑,包括拖放功能、组件管理、表单数据存储和导出等。 4. 图像资源:可能包括Bootstrap...
【winform表单设计器】是一种基于C#编程语言的用户界面设计工具,它允许开发者创建和自定义Windows桌面应用...同时,理解并运用好表单设计器背后的代码逻辑,将有助于提升编程技能,为更复杂的项目开发打下坚实的基础。
"表单设计器源码"是基于C#编程语言开发的一款工具,它允许用户通过图形化的方式动态创建和编辑表单界面。在C#的世界里,这样的工具极大地提升了开发者设计用户界面(UI)的效率,类似于专业级的集成开发环境(IDE)...
在Struts1中,控制器组件是整个架构的核心,它们负责协调用户请求、业务逻辑和视图之间的交互。本篇将深入探讨Struts1的控制器组件以及动态ActionForm的概念。 **Struts1控制器组件** 1. **ActionServlet组件**: ...
### JEECG Online表单开发指南v3.7 #### 1. Online表单配置 在JEECG智能开发平台中,Online表单配置是非常重要的一个环节,它可以帮助开发者快速搭建出符合需求的表单界面,并且具备良好的用户体验。本章节将详细...
这个压缩包"tfForm"包含了一个基于layui的后台表单生成器,允许开发者快速创建和编辑表单,同时支持条件判断,大大提升了开发效率。 layui的核心组件包括模块化(layui.use)、元素操作(layui.$)、表格(layui....
本项目提供了C#语言实现的自定义表单设计器的演示版源码,这对于开发者来说是一个很好的学习资源,特别是对于那些正在学习Windows Forms、WPF或.NET Framework的初学者和专业开发人员。 在C#中,自定义表单设计器...
该可视化表单设计器的核心特性在于其高度可定制性,允许用户根据实际需求进行自定义控件的二次开发。这种功能使得开发者能够创造出满足特定业务场景的个性化表单,无论是OA(办公自动化)流程中的复杂表单,还是医疗...
**JS+HTML版表单构造器(Fom Builder)**是一种实用的Web开发工具,它允许开发者在Web系统中快速创建和自定义表单。这个工具基于JavaScript和HTML技术,因此具有良好的浏览器兼容性和交互性,可以无缝集成到各种Web...
代码简介:jQuery可视化表单拖拽编辑代码是一款基于jQuery和bootstrap框架制作可视化表单,可自定义拖拽控制生成表单,预览表单,表单各种属性可通过json格式的配置来处理控制表单的各个属性,看起来非常的高大上,...
在开发过程中,开发者可以利用Vue的生命周期钩子函数来控制表单的初始化、更新和销毁行为,确保与后端服务的数据同步。结合 Vuex,Vue的状态管理库,可以更好地管理和共享表单状态,处理更复杂的业务逻辑。 总的来...
工作流管理系统及二次开发接口,在流程管理过程中,有些个性表单、报表等需求,这些表单有可能在表单格式、数据要求、权限控制等方面有个性的业务需求,用户可根据易协客服提供的开发接口进行自定义开发, ...
在开始深入探讨ThinkPHP5控制器之前,我们需要明确一点:正确使用控制器对于ThinkPHP的应用开发至关重要。本篇文档将全面解析控制器的角色及其功能,包括如何获取请求、数据验证、业务处理、异常处理、模板渲染以及...
通过使用"Form表单js设计器生成器",开发者可以快速创建符合Bootstrap设计规范的高质量表单,降低手动编写HTML和JavaScript的复杂度,提高开发效率。同时,这种可视化设计方式使得非编程背景的设计师也能参与到表单...