[SSH_easyUI]细节2:JSON
2015-05-12 22:58
218 查看
1. 后台数据用json方式返回前台的各种情况
1.1 Action中的方法
public void reg(){ String name = ServletActionContext.getRequest().getParameter("name"); String pwd = ServletActionContext.getRequest().getParameter("pwd"); String json= ""; try { userService.add(name,pwd); json = "{\"success\":true,\"msg\":\"注册成功\"}"; } catch (Exception e) { e.printStackTrace(); json = "{\"success\":true,\"msg\":\"注册失败\"}"; } try { ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().write(json);//将json输出到前台 } catch (IOException e) { e.printStackTrace(); } }
1.2 index.jsp相对应代码
<div id="index_regDialog" class="easyui-dialog" style="width:250px;" data-options="title:'注册',closed:true,modal:true,closable:false,buttons:[{ text:'注册', iconCls:'icon-edit', handler:function(){ //这里是普通的form表单提交,但是写法是ajax的那种写法 regUser(); } }]"> <form id="index_regForm" method="post"> <table> <tr> <th>用户名</th> <td><input name="name" class="easyui-validatebox" data-options="required:true,missingMessage:'请输入用户名'" /> </td> </tr> <tr> <th>密码</th> <td><input name="pwd" class="easyui-validatebox" type="password" data-options="required:true,missingMessage:'请输入密码'" /> </td> </tr> <tr> <th>重复密码</th> <td><input name="rePwd" class="easyui-validatebox" type="password" data-options="required:true,missingMessage:'请输入确认密码',validType:'eqPwd[\'#index_regForm input[name=pwd]\']'" /> </td> </tr> </table> </form> </div>
1.3 分析
在后台传输标准格式的json数据到前台页面:但是因为双引号,转义比较麻烦如:
json = "{\"success\":true,\"msg\":'注册成功'}";
在后台传输非标准的json数据到前台,前台通过eval()方法转化为json对象
var obj=eval("("+data+")");//★eval()方法,将返回的不是标准json形式数据变成json对象形式【不推荐使用】
通过json插件返回后台数据
struts有json格式的,spring也有处理json的插件,以下的方式是使用alibaba的json插件。
public void reg(){ Map<String,Object> m = new HashMap<String,Object>(); try { //▲注意点:如果add()的参数有100项,则应该直接传对象 userService.save(user); m.put("success", true); m.put("msg", "注册成功"); } catch (Exception e) { m.put("success",false); m.put("msg", e.getMessage()); } super.writeJson(m);//调用父类的方法 }
注意:必须先通过以下方式引入alibaba的json插件
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.24</version> </dependency>
相关文章推荐
- ssh,json,easyui,ajax前后台交互(只提供主要代码)
- [SSH_easyUI]细节3:dataGrid区域实现增删改查
- [SSH_easyUI]细节1:首页布局、登录注册
- ssh_crm:客户行业统计功能,使用easyUI,开发用户列表,用户注册,用户登陆,解决json字符串问题
- [SSH_easyUI]细节4:后台主要代码
- SSH中json数据的封装与easyui里json的显示
- 两表联查:后台JSON格式和前台EasyUI接收
- SSH返回json格式数据到easyui grid展示
- EASYUI 树形菜单 fastjson JAVA嵌套对象转JSON
- EasyUI的DataGrid日期列(datebox)正确显示json时间格式
- Java+oracle树查询实现easyui中tree使用的json(转)
- ssh细节问题
- Volley StringRequest和JSONObjectRequest使用几个细节
- easyUI的列表控件(datagrid)日期列不能正确显示Json格式数据的解决方法
- spring mvc 结合easyui datagrid 使用responseBody 注解 返回json 无法绑定
- javaWeb 开发中 使用ssh+ajax+json 开发时,json数据转换的问题
- XXX系统开发小结(SSH+Jquery EasyUI)
- EasyUi-tree-json格式数据的构造(Java拼接)
- EasyUI DataGrid使用Json加载不了数据