easui框架搭建第二课
来源:互联网 发布:python的入门书 知乎 编辑:程序博客网 时间:2024/05/21 22:36
easui框架搭建第二课
一、实现用户注册的功能。
1.后台controller的实现:
@RequestMapping(value = "/reg", method = { RequestMethod.POST, RequestMethod.GET }/*, produces = {"application/json;charset=UTF-8"}*/) @ResponseBody public String reg(HttpServletRequest request, HttpServletResponse response) { String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); Map<String, Object> result = new HashMap<String, Object>(); User user = new User(); user.setId(UUID.randomUUID().toString()); user.setName(name); user.setLoginName(name); user.setCompanyId("1"); user.setOfficeId("1"); user.setPassword(pwd); user.setCreateBy("1"); user.setCreateDate(new Date()); user.setUpdateBy("1"); user.setUpdateDate(new Date()); user.setDelFlag("0"); try { //userService.insert(user); result.put("success", true); result.put("message", "注册成功!"); } catch (Exception e) { e.printStackTrace(); logger.info("注册失败" + e.getMessage()); result.put("success", false); result.put("message", "注册失败!"); } request.setAttribute("user", user); return JSON.toJSONString(result); }
2.注册的form表单提交:
//初始化form$('#index_regForm').form({url : '${pageContext.request.contextPath}/userController/reg.do',// dataType : 'json',// contentType : 'application/json;charset=UTF-8',success : function(data) {var $data = $.parseJSON(data);console.info($data);alert($data.message);}});
3. 发现的问题:
通过之前的配置,发现在返回前台json的时候,通过
$.parseJSON(data);无法解析为json数据,以致无法正常显示。
通过N种方法尝试,终于使firefox好用了,但是在ie下又出现乱码。。
最后终于通过修改spring-mvc.xml改好了》》》》》》》》修改如下:(注意替换之前的写法。)
<!-- 使用Annotation自动注册Bean,只扫描@Controller --><context:component-scan base-package="lucky.ssmm" use-default-filters="false"><!-- base-package 如果多个,用“,”分隔 --><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /></context:component-scan><!-- 默认的注解映射的支持,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping --><mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"><mvc:message-converters register-defaults="true"><!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --><bean class="org.springframework.http.converter.StringHttpMessageConverter"><constructor-arg value="UTF-8" /></bean><!-- 将Jackson2HttpMessageConverter的默认格式化输出为false --><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property><property name="prettyPrint" value="false" /><property name="objectMapper"> <!-- jackson-databind-2.2.2.jar --><bean class="com.fasterxml.jackson.databind.ObjectMapper"><property name="dateFormat"><bean class="java.text.SimpleDateFormat"><constructor-arg value="yyyy-MM-dd HH:mm:ss" /></bean></property></bean></property></bean></mvc:message-converters></mvc:annotation-driven><!-- REST中根据URL后缀自动判定Content-Type及相应的View --><bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"><property name="mediaTypes"><map><entry key="xml" value="application/xml" /><entry key="json" value="application/json" /></map></property><property name="ignoreAcceptHeader" value="true" /><property name="favorPathExtension" value="true" /></bean>
4. 增加前台页面的返回提示:
<pre name="code" class="java">success : function(data) {var $data = $.parseJSON(data);console.info($data.success);console.info($data.message);if ($data.success) {$('#index_regDialog').dialog('close');}$.messager.show({title : '提示',msg : $data.message,timeout : 5000,showType : 'slide'});}
5.修改数据不清空的解决方案:
5.1在dialog的open方法前加如下代码:
$('#index_regForm').form('load', {name:'', pwd:'', rpwd:''});$('#index_regDialog').dialog('open');5.2 添加如下方法:
$('#index_regForm input').val('');$('#index_regDialog').dialog('open');
6. 使用ajax技术,实现注册:
$.ajax({url : '${pageContext.request.contextPath}/userController/reg.do',data : {name : $('#index_regForm input[name=name]').val(),pwd : $('#index_regForm input[name=pwd]').val()},success : function(data, textStatus, jqXHR) {var $data = $.parseJSON(data);console.info($data.success);console.info($data.message);if ($data.success) {$('#index_regDialog').dialog('close');}$.messager.show({title : '提示',msg : $data.message,timeout : 5000,showType : 'slide'});}});
6.1 完善ajax的注册实现:
注意:$('#index_regForm').serialize(), ==》》》》jquery用法,实现表单序列化,请自行脑补api....
$.ajax({url : '${pageContext.request.contextPath}/userController/reg.do',data : $('#index_regForm').serialize(),dataType : 'json',success : function(data, textStatus, jqXHR) {var $data = data;//$.parseJSON(data);console.info($data.success);console.info($data.message);if ($data.success) {$('#index_regDialog').dialog('close');}$.messager.show({title : '提示',msg : $data.message,timeout : 5000,showType : 'slide'});}});
6.2 由于使用ajax技术,无法使用easyui的验证功能,所以发送ajax请求前,需添加eaysui的验证功能,实现如下:
if ($('#index_regForm').form('validate')) {$.ajax({url : '${pageContext.request.contextPath}/userController/reg.do',data : $('#index_regForm').serialize(),dataType : 'json',success : function(data, textStatus, jqXHR) {var $data = data;//$.parseJSON(data);console.info($data.success);console.info($data.message);if ($data.success) {$('#index_regDialog').dialog('close');}$.messager.show({title : '提示',msg : $data.message,timeout : 5000,showType : 'slide'});}});}
0 0
- easui框架搭建第二课
- struts2框架搭建第二天
- ArchieOpenGL基础教程第二课:搭建OpenGL框架② 添加全屏控制
- 第二集 Spring MVC教程 快速搭建Spring MVC框架
- 第二篇--环境部署&大体结构思路&搭建框架
- 基于Eclipse搭建SSH框架:第二篇 struts2整合spring
- 第二课 电子商务应用框架
- Object Foundation框架 第二课
- 网络设备驱动第二课----框架
- Struts框架详解第二课
- PHP & HTML5 学习 第二课 环境搭建
- Hadoop 第二课 Hadoop2.7.3集群搭建
- HTML第二课:表格、表单和框架
- SSH(struts+spring+hibernate)迅速开发--第二章 SSH框架搭建(1)
- SSH(struts+spring+hibernate)迅速开发--第二章 SSH框架搭建(2)
- 第二章、SpringMvc内容浅析————搭建SpringMVC框架?
- 搭建框架
- 框架搭建
- HttpURLConnection访问网络
- (2)LinuxI2C驱动--I2C总线
- LightOJ1020(博弈)
- AgileEAS.net 学习总结
- 第14周-文件的写入与读出(多例)
- easui框架搭建第二课
- vc中winexec使用
- PyQt + QML 快速开发GUI入门总结
- Uva 1586 Molar mass
- GlassFish移植Tips 来自<美丽的爪哇岛>的博客
- 闹钟功能实现+本地通知+音频播放
- JVM优化与案例分析
- UIDynamics -- 力学部分
- 无序向量Vector