经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
javaWeb核心技术第十四篇之easyui
来源:cnblogs  作者:小小一  时间:2019/9/2 9:26:28  对本文有异议
  1. 网站是分为网站的前台和网站的后台.
  2. 前台--给用户看的 例如:商城
  3. 后台--给管理员看的 例如:商城后台 目的:用来添加维护数据
  4. BootStrap:jsp 页面显示,效果好,美观,适合作为用户界面.
  5. EasyUI : jsp页面,快速开发,格式统一,美观效果一般.
  6. EasyUI里面有很多组件(功能模块):有自己的特使,但编写简单,只需固定html代码结构.
  7. EasyUI环境搭建:
  8. 1.导入css , 需要2css
  9. 2.导入jquery,需要2js
  10. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/easyui.css">
  11. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/icon.css">
  12. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/demo.css">
  13. <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
  14. <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.easyui.min.js"></script>
  15. EasyUI的定义方式:
  16. easyui规定:我们只需要提供简单html代码结构,就可以生成特殊的效果.
  17. easyui的定义方式:
  18. 1.html代码结构.
  19. 1.1:需要有class="easyui-*" *表示组件的名称.
  20. 1.2:easyui提供另外一个属性:data-options:里面可以写easyui提供的属性.
  21. data-options格式:json格式:key:value,key:value......
  22. 2.js渲染.
  23. 2.1:语法 : 对象.组件名称();
  24. 2.2:语法 : 对象.组件名称({key:value,key:value.....});
  25. 例如:
  26. html例子:
  27. <div class="easyui-window" data-options="title:'this is 标题',width:200,height:400"></div>
  28. js例子:
  29. <div id="myDiv"></div>
  30. <script>
  31. //如果使用js渲染,语法 : 对象.组件名称({key:value,key:value.....});
  32. $("#myDiv").window({
  33. title:'这是新的标题',
  34. width:400,
  35. height:400
  36. });
  37. </script>
  38. Easy--属性--事件--方法:
  39. easyui的属性 : 事件,方法
  40. 属性 : 组件自身特点,事件和属性可以写在一起,格式:key:value,key:value....
  41. 事件 : (被动)完成某件事情后触发的动作.
  42. $(对象).组件名称({
  43. 属性:属性值,
  44. 属性:属性值,
  45. 事件:函数
  46. })
  47. 方法:(主动)主动完成某件事件.
  48. 语法:
  49. $(对象).组件名称(方法名称,方法的参数)
  50. <div class="easyui-dialog" data-options="width:200,height:200",onBeforeClose:function(){
  51. alert('窗口即将关闭');
  52. }"></div>
  53. 例如:
  54. <div id="myDiv2"></div>
  55. <input type="button" value="关闭窗口" onclick="closeDialog()">
  56. <input type="button" value="打开窗口" onclick="openDialog()">
  57. //事件
  58. <script type="text/javascript">
  59. $("#myDiv2").dialog({
  60. width:200,
  61. height:200,
  62. onBeforeClose:function(){
  63. alert('窗口即将关闭')
  64. }
  65. });
  66. function closeDialog() {
  67. //方法设置的标准语法 : $(对象).组件名称(方法名称[,方法的值])
  68. $("#myDiv2").dialog("close");
  69. }
  70. function openDiaLog() {
  71. $("#myDiv2").dialog("open");
  72. }
  73. </script>
  74. 表单:
  75. 默认情况下,表单是传统表单,传统表单同步,easyui的表单是异步的.
  76. <script>
  77. $("#ff").from({
  78. url:"${pageContext.request.contextPath}/DemoServlet",//等效action属性,表单提交的路径.
  79. onSubmit : function() {
  80. //在此处可以做效验,表单提交前效验.
  81. //alert(1);
  82. //return false;
  83. },
  84. success:function(data) {
  85. //回调函数,此处是没有判断状态码为200情况,以后是需要判断data值.
  86. alert(data)
  87. }
  88. });
  89. </script>
  90. Tabs:选项卡
  91. <script>
  92. function addTabs(){
  93. var flag = $("#tt").tabs("exists","工资条");
  94. if(flag){
  95. //如果面板已经存在,选中该面板
  96. $("#tt").tabs("select","工资条");
  97. }else{
  98. //如果面板不存在,添加面板
  99. $("#tt").tabs("add",{
  100. title : "工资条", //标题
  101. content : "Tab Body", //内容
  102. closable : true //是否可以关闭
  103. });
  104. }
  105. }
  106. </script>
  107. 下拉框:
  108. <input id="cc" name="dept" value="请选择">
  109. <script>
  110. $("#cc").combobox({
  111. //可以加载远程事件,支持json easyui都支持json
  112. url:"combobox_data.json",
  113. valueField : "id", //对应value值,需要将json的key放在此处, // <option value="">文本</option>
  114. textFiedld : "name" //将要显示的文本的key放在此处
  115. });
  116. </script>
  117. Datagrid:数据表单
  118. url : 加载远程的数据,支持json
  119. 表格中的field的字段名称,必须和json的一致,如果一致,表单将自动填充json数据.
  120. <table class="easyui-datagrid" data-options="url:'datagrid_data.json',fit:true">
  121. <thead>
  122. <tr>
  123. <th data-options="field:'id',width:100">编码</th>
  124. <th data-options="field:'name',width:100">名称</th>
  125. <th data-options="field:'age',width:100,align:'right'">价格</th>
  126. <th data-options="field:'pimage',width:100,align:'right',formatter:function( value , rows , index){ return '<img src='+value + '>';}">图片</th>
  127. </tr>
  128. </thead>
  129. </table>
  130. <table id="dg"></table>
  131. value : 表示当前json的值
  132. rows : 表示当前行的对象
  133. index : 表示当前行的索引
  134. <script>
  135. $('#dg').datagrid({
  136. url:'datagrid_data.json', //url : 加载远程的数据 支持json
  137. columns:[[
  138. {field:'id',title:'id',width:100},
  139. {field:'name',title:'Name',width:100},
  140. {field:'age',title:'age',width:100,align:'right'},
  141. {field:'pimage',title:'pimage',width:100,align:'right',
  142. formatter:function(value , rows , index){
  143. return "<img src='"+value+"' style='width:40px'>";
  144. }
  145. }
  146. ]],
  147. fit:true ,//表格自动填充
  148. fitColumns:true, //列自动填充
  149. autoRowHeight:true,//高度填充
  150. toolbar:[{
  151. iconCls: 'icon-edit',
  152. handler: function(){alert('编辑按钮')}
  153. },'-',{
  154. iconCls: 'icon-help',
  155. handler: function(){alert('帮助按钮')}
  156. }],
  157. singleSelect:true, //只能选择一个
  158. pagination:true,//页面的底部加上分页条
  159. pageNumber:1, //默认打开第一页
  160. pageSize:5,
  161. pageList:[5,10,15,20,25,30]
  162. });
  163. </script>
  164. 后台代码:
  165. 接收的分页参数:
  166. 响应回去的数据:
  167. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  168. try {
  169. //问题1: 页面需要传入 pageSize 和 pageNumber
  170. //问题2: 响应数据 是什么? 页面需要什么数据来进行分页
  171. //0.编码
  172. request.setCharacterEncoding("utf-8");
  173. response.setHeader("content-type", "text/html;charset=utf-8");
  174. //1.获得数据
  175. String pageNumberStr = request.getParameter("page");
  176. String pageSizeStr = request.getParameter("rows");
  177. int pageNumber = Integer.valueOf(pageNumberStr);
  178. int pageSize = Integer.valueOf(pageSizeStr);
  179. //int pageNumber= 1;
  180. //int pageSize = 5;
  181. //2.处理数据
  182. ProductService service = new ProductService();
  183. //List<Product> pList = service.findAll();
  184. //如果响应回去的只是list 不会进行分页
  185. //List<Product> pList = service.findByPage( pageNumber , pageSize);
  186. EasyUIPageBean<Product> easyUIPageBean = service.findByEasyUIPage( pageNumber , pageSize);
  187. //需要响应的数据{total:28 , "rows" : [ {} , {} ,{} ]} ==>> 可以使用map 也可以封装对象
  188. //但目前是 [{key:value,key:value},{key:value,key:value}..]
  189. //3.响应
  190. Gson gson = new Gson();
  191. String json = gson.toJson(easyUIPageBean);
  192. System.out.println(json);
  193. response.getWriter().print(json);
  194. } catch (Exception e) {
  195. e.printStackTrace();
  196. }
  197. }

 

原文链接:http://www.cnblogs.com/haizai/p/11442990.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号