EasyUI框架 使用Ajax提交注册信息的实现代码
一、服务器代码:
@Controller @Scope("prototype") public class StudentAction extends BaseAction<Student> { private static final long serialVersionUID = -2612140283476148779L; private Logger logger = Logger.getLogger(StudentAction.class); private String rows;// 每页显示的记录数 private String page;// 当前第几页 private Map<String, Object> josnMap = new HashMap<>(); // 查询出所有学生信息 public String list() throws Exception { return "list"; } public String regUI() throws Exception { return "regUI"; } // 查询出所有学生信息 public String listContent() throws Exception { List<Student> list = studentService.getStudentList(page, rows); System.out.println("list==" + list); toBeJson(list, studentService.getStudentTotal()); return "toJson"; } // 转化为Json格式 public void toBeJson(List<Student> list, int total) throws Exception { josnMap.put("total", total); josnMap.put("rows", list); JSONParser.writeJson(josnMap);// 自定义的工具类 } public String reg(){ logger.error("kkk"); try { studentService.save(model); josnMap.put("success", true); josnMap.put("msg", "注册成功!"); } catch (Exception e) { e.printStackTrace(); josnMap.put("success", false); josnMap.put("msg", "注册失败!"); } try { ServletActionContext.getResponse().setContentType("text/html;charset=utf-8"); ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().print(JSON.toJSONString(josnMap)); } catch (IOException e) { e.printStackTrace(); } return "toJson"; } public void setRows(String rows) { this.rows = rows; } public void setPage(String page) { this.page = page; } public Map<String, Object> getJosnMap() { return josnMap; } public void setJosnMap(Map<String, Object> josnMap) { this.josnMap = josnMap; } }
二、BaseAction代码:
import java.lang.reflect.ParameterizedType; import javax.annotation.Resource; import org.apache.struts2.ServletActionContext; import cn.oppo.oa.service.DepartmentService; import cn.oppo.oa.service.ForumService; import cn.oppo.oa.service.PrivilegeService; import cn.oppo.oa.service.RoleService; import cn.oppo.oa.service.StudentService; import cn.oppo.oa.service.UserService; import com.alibaba.fastjson.JSON; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public abstract class BaseAction<T> extends ActionSupport implements ModelDriven<T> { /** * */ private static final long serialVersionUID = 1L; @Resource protected RoleService roleService; @Resource protected DepartmentService departmentService; @Resource protected UserService userService; @Resource protected PrivilegeService privilegeService; @Resource protected ForumService forumService; @Resource protected StudentService studentService; protected T model; @SuppressWarnings("unchecked") public BaseAction() { try { // 得到model的类型信息 ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass(); Class<T> clazz = (Class<T>) pt.getActualTypeArguments()[0]; // 通过反射生成model的实例 model = (T) clazz.newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } public void writeJson(Object object){ try { String json = JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss"); ServletActionContext.getResponse().setContentType("text/html;charset=utf-8"); ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().write(json); ServletActionContext.getResponse().getWriter().flush(); ServletActionContext.getResponse().getWriter().close(); } catch (Exception e) { e.printStackTrace(); } } public T getModel() { return model; } }
三、页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>EasyUI框架</title> <%@ include file="/WEB-INF/jsp/public/common.jspf" %> <script type="text/javascript"> $(function(){ if(${"#easyui_regForm"}.form('validate')){ $.ajax({ url:'${pageContext.request.contextPath}/student_reg.action', data:${"#easyui_regForm"}.serialize(), dataType:'json', success:function(obj,status,jqXHR){ if(obj.success){ $("#easyui_regDialog").dialog('close'); } $.message.show({ title:'提示', msg:obj.msg }); } }); }else{ alert('验证失败'); } }); </script> </head> <body class="easyui-layout"> <div data-options="region:'north',split:true" style="height:100px;">aa</div> <!-- <div data-options="region:'south',split:true" style="height:100px;">bb</div>--> <div data-options="region:'east',title:'East',split:true" style="width:200px;">cc</div> <div data-options="region:'west',title:'West',split:true" style="width:200px;">dd</div> <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">kk</div> <div class="easyui-dialog" data-options="title:'登陆', modal:true, closable:false, toolbar:[{ text:'Edit', iconCls:'icon-edit', handler:function(){alert('edit')} },{ text:'Help', iconCls:'icon-help', handler:function(){alert('help')} }], buttons:[{ text:'登陆', handler:function(){alert('登陆')} },{ text:'注册', handler:function(){ $('#easyui_regForm input').val(''); $('#easyui_regDialog').dialog('open'); } }]" > <table> <tr> <td>登陆名称:</td> <td><input type="text" name="name"/></td> </tr> <tr> <td>登陆密码:</td> <td><input type="password" name="password"/></td> </tr> </table> </div> <div id="easyui_regDialog" class="easyui-dialog" data-options="title:'注册', modal:true, closable:true, closed:true, buttons:[{ text:'注册', handler:function(){ $('#easyui_regForm').form('submit',{ url : '${pageContext.request.contextPath}/student_reg.action', success : function(data) { var obj = jQuery.parseJSON(data); if (obj.success) { $('#easyui_regDialog').dialog('close'); } $.messager.show({ title : '提示', msg : obj.msg }); } }); } },{ text:'取消', handler:function(){alert('注册')} }]" > <form id="easyui_regForm" method="post"> <table> <tr> <td>登陆名称:</td> <td><input type="text" name="loginName" class="easyui-validatebox" data-options="required:true,missingMessage:'用户名称不能为空'"/></td> </tr> <tr> <td>登陆密码:</td> <td><input id="reg_pwd" type="password" name="password" class="easyui-validatebox" data-options="required:true,missingMessage:'用户密码不能为空'"/></td> </tr> <tr> <td>确定密码:</td> <td><input type="password" name="repassword" class="easyui-validatebox" data-options="required:true,missingMessage:'确认密码不能为空',validType:'equals[\'#reg_pwd\']'" /></td> </tr> </table> </form> </div> </body> </html>
四、struts2.xml配置
<"1.0" encoding="UTF-8" "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 配置为开发模式 --> <constant name="struts.devMode" value="true" /> <!-- 配置扩展名为action --> <constant name="struts.action.extension" value="action" /> <!-- 配置主题 --> <constant name="struts.ui.theme" value="simple" /> <package name="default" namespace="/" extends="json-default"> <interceptors> <!-- 声明一个拦截器 --> <interceptor name="checkePrivilege" class="cn.oppo.oa.interceptor.CheckPrivilegeInterceptor"></interceptor> <!-- 重新定义defaultStack拦截器栈,需要先判断权限 --> <interceptor-stack name="defaultStack"> <interceptor-ref name="checkePrivilege" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <!-- 配置全局的Result --> <global-results> <result name="loginUI">/WEB-INF/jsp/user/loginUI.jsp</result> <result name="noPrivilegeError">/noPrivilegeError.jsp</result> </global-results> <!-- 测试用的action,当与Spring整合后,class属性写的就是Spring中bean的名称 --> <action name="test" class="testAction"> <result name="success">/test.jsp</result> </action> <action name="*_*" class="{1}Action" method="{2}"> <result name="{2}">/WEB-INF/jsp/{1}/{2}.jsp</result> <!-- 跳转到添加与修改页面 --> <result name="saveUI">/WEB-INF/jsp/{1}/saveUI.jsp</result> <!-- 返回list页 --> <result name="toList" type="redirectAction">{1}_list"toIndex" type="redirect">/index.jsp</result> <!-- 返回论坛主题 --> <result name="toShow" type="redirectAction">topic_show"toTopicShow" type="redirectAction">topic_show"toJson" type="json"> <param name="root">josnMap</param> </result> <result name="reg">/easyui.jsp</result> </action> </package> </struts>
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“EasyUI框架 使用Ajax提交注册信息的实现代码”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月09日
2024年11月09日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]