1. var Api = {
  2. ajax:{
  3. // 添加项目 旧!
  4. add_project : function(pro_name, html, css, js,callback) {
  5. $.post("/action/project/add", {
  6. "v_code":User.v_code,
  7. "pro_name" : pro_name,
  8. "html" : html,
  9. "css" : css,
  10. "js" : js
  11. }, function(msg) {
  12. if(typeof callback != 'undefined')return callback(msg);
  13. });
  14. },
  15. // 添加代码 新!
  16. add_code : function(code_name, html, css, js,callback) {
  17. $.post("/action/code/add", {
  18. "v_code":User.v_code,
  19. "code_name" : code_name,
  20. "html" : html,
  21. "css" : css,
  22. "js" : js
  23. }, function(msg) {
  24. if(typeof callback != 'undefined')return callback(msg);
  25. });
  26. },
  27. // 保存当前代码 旧!
  28. update : function(id, html, css, js,sign,callback,force) {
  29. $.post("/action/project/update", {
  30. "v_code":User.v_code,
  31. "id" : id,
  32. "css" : css,
  33. "js" : js,
  34. "html" : html,
  35. "sign":sign,
  36. "force":force
  37. }, function(msg) {
  38. if(typeof callback != 'undefined')return callback(msg);
  39. });
  40. },
  41. // 保存当前代码 新!
  42. update_code : function(id, html, css, js,sign,callback,force) {
  43. $.post("/action/code/update", {
  44. "v_code":User.v_code,
  45. "id" : id,
  46. "css" : css,
  47. "js" : js,
  48. "html" : html,
  49. "sign":sign,
  50. "force":force
  51. }, function(msg) {
  52. if(typeof callback != 'undefined')return callback(msg);
  53. });
  54. },
  55. // 存为新版本
  56. new_version : function(id, html, css, js,callback) {
  57. $.post("/action/project/new_version", {
  58. "v_code":User.v_code,
  59. "id" : id,
  60. "css" : css,
  61. "js" : js,
  62. "html" : html
  63. }, function(msg) {
  64. if(typeof callback != 'undefined')return callback(msg);
  65. });
  66. },
  67. // fork代码 旧!
  68. fork : function(pro_id, ver, pro_name,callback) {
  69. $.post("/action/project/fork", {
  70. "v_code":User.v_code,
  71. "pro_id" : pro_id,
  72. "ver" : ver,
  73. "pro_name" : pro_name
  74. }, function(msg) {
  75. if(typeof callback != 'undefined')return callback(msg);
  76. });
  77. },
  78. // fork代码 新!
  79. fork_code : function(id, code_name,callback) {
  80. $.post("/action/code/fork", {
  81. "v_code":User.v_code,
  82. "id" : id,
  83. "code_name" : code_name
  84. }, function(msg) {
  85. if(typeof callback != 'undefined')return callback(msg);
  86. });
  87. },
  88. // 删除指定版本的代码
  89. delete_version : function(captcha,pro_id, ver,sign,callback,force) {
  90. $.post("/action/project/delete_version", {
  91. "captcha_":captcha,
  92. "v_code":User.v_code,
  93. "pro_id" : pro_id,
  94. "ver" : ver,
  95. "sign":sign,
  96. "force":force
  97. }, function(msg) {
  98. if(typeof callback != 'undefined')return callback(msg);
  99. });
  100. },
  101.  
  102. /**
  103. * 删除代码,新!
  104. *
  105. */
  106. delete_code:function(captcha,id,callback){
  107. $.post("/action/code/delete", {
  108. "captcha_":captcha,
  109. "v_code":User.v_code,
  110. "id" : id
  111. }, function(msg) {
  112. if(typeof callback != 'undefined')return callback(msg);
  113. });
  114. },
  115.  
  116. // 删除项目
  117. delete_project : function(captcha,pro_id,callback) {
  118. $.post("/action/project/delete_project", {
  119. "captcha_":captcha,
  120. "v_code":User.v_code,
  121. "id" : pro_id
  122. }, function(msg) {
  123. if(typeof callback != 'undefined')return callback(msg);
  124. });
  125. },
  126. // 添加评论
  127. add_comment : function(code_id, content,callback) {
  128. $.post("/action/project/add_comment", {
  129. "v_code":User.v_code,
  130. "id" : code_id,
  131. "content" : content
  132. }, function(msg) {
  133. if(typeof callback != 'undefined')return callback(msg);
  134. });
  135. },
  136. // 删除评论
  137. delete_comment : function(comment_id,callback) {
  138. $.post("/action/project/delete_comment", {
  139. "v_code":User.v_code,
  140. "id" : comment_id
  141. }, function(msg) {
  142. if(typeof callback != 'undefined')return callback(msg);
  143. });
  144. },
  145. // 投票,顶踩等
  146. vote : function (code_id, type,callback) {
  147. $.post("/action/project/vote", {
  148. "v_code":User.v_code,
  149. "id" : code_id,
  150. "type" : type
  151. }, function(msg) {
  152. if(typeof callback != 'undefined')return callback(msg);
  153. });
  154. },
  155.  
  156. login : function (name,callback) {
  157. $.post("/action/ajax/login", {
  158. "username" : name
  159. }, function(msg) {
  160. if(typeof callback != 'undefined')return callback(msg);
  161. });
  162. },
  163. // 登出
  164. logout : function (callback) {
  165. $.post("/action/ajax/logout",'uid='+User.user, function(msg) {
  166. if(typeof callback != 'undefined')return callback(msg);
  167. });
  168. },
  169. // 通过id获取代码
  170. getCode : function(id,callback) {
  171. $.post("/action/api/getCode", {
  172. "id" : id
  173. }, function(msg) {
  174. if(typeof callback != 'undefined')return callback(msg);
  175. });
  176. },
  177. // 项目重命名
  178. project_rename : function(id,name,callback){
  179. $.post("/action/project/rename", {
  180. "v_code":User.v_code,
  181. "pro_id" : id,
  182. "name":name
  183. }, function(msg) {
  184. if(typeof callback != 'undefined')return callback(msg);
  185. });
  186. },
  187. // 代码重命名 旧!
  188. code_rename : function(id,name,callback){
  189. $.post("/action/project/rename_code", {
  190. "v_code":User.v_code,
  191. "code_id" : id,
  192. "name":name
  193. }, function(msg) {
  194. if(typeof callback != 'undefined')return callback(msg);
  195. });
  196. },
  197. // 代码重命名 新!
  198. code_rename : function(id,name,callback){
  199. $.post("/action/code/rename", {
  200. "v_code":User.v_code,
  201. "id" : id,
  202. "name":name
  203. }, function(msg) {
  204. if(typeof callback != 'undefined')return callback(msg);
  205. });
  206. },
  207. // 用户设置项,主题等
  208. setting : function(name,value,callback){
  209. $.post("/action/api/setting", {
  210. "v_code":User.v_code,
  211. "name" : name,
  212. "value":value
  213. }, function(msg) {
  214. if(typeof callback != 'undefined')return callback(msg);
  215. });
  216. },
  217. /**
  218. * 发布代码 旧!
  219. */
  220. publish : function(id,description,callback){
  221. $.post("/action/project/post", {
  222. "v_code":User.v_code,
  223. "id" : id,
  224. "description":description
  225. }, function(msg) {
  226. if(typeof callback != 'undefined')return callback(msg);
  227. });
  228. },
  229. /**
  230. * 发布代码 新!
  231. */
  232. publish_code : function(id,description,callback){
  233. $.post("/action/code/post", {
  234. "v_code":User.v_code,
  235. "id" : id,
  236. "description":description
  237. }, function(msg) {
  238. if(typeof callback != 'undefined')return callback(msg);
  239. });
  240. },
  241. // 更新代码信息 旧!
  242. update_info : function(id,name,description,callback){
  243. $.post("/action/project/update_info", {
  244. "v_code":User.v_code,
  245. "id" : id,
  246. "name" : name,
  247. "description":description
  248. }, function(msg) {
  249. if(typeof callback != 'undefined')return callback(msg);
  250. });
  251. },
  252. // 更新代码信息 新!
  253. update_code_info : function(id,name,description,callback){
  254. $.post("/action/code/update_info", {
  255. "v_code":User.v_code,
  256. "id" : id,
  257. "name" : name,
  258. "description":description
  259. }, function(msg) {
  260. if(typeof callback != 'undefined')return callback(msg);
  261. });
  262. },
  263.  
  264. // 收藏
  265. favor : function(code_id,callback){
  266. $.post("/action/project/favor", {
  267. "v_code":User.v_code,
  268. "id" : code_id
  269. }, function(msg) {
  270. if(typeof callback != 'undefined')return callback(msg);
  271. });
  272. },
  273. // 取消收藏
  274. un_favor : function(favor_id,callback){
  275. $.post("/action/project/un_favor", {
  276. "v_code":User.v_code,
  277. "id" : favor_id
  278. }, function(msg) {
  279. if(typeof callback != 'undefined')return callback(msg);
  280. });
  281. },
  282. /**
  283. * 添加url文件
  284. */
  285. add_url_file : function(url,callback){
  286. $.post("/action/file/add_url_file",{
  287. "v_code":User.v_code,
  288. "url":url
  289. },function(msg){
  290. if(typeof callback != 'undefined')return callback(msg);
  291. });
  292. },
  293. /**
  294. * 删除文件
  295. */
  296. delete_file : function(captcha,id,callback){
  297. $.post("/action/file/delete_file", {
  298. "captcha_":captcha,
  299. "v_code":User.v_code,
  300. "id" : id
  301. }, function(msg) {
  302. if(typeof callback != 'undefined')return callback(msg);
  303. });
  304. },
  305. /**
  306. * 添加建议
  307. */
  308. add_advice : function(captcha,ident,email,content,callback){
  309. $.post("/action/advice/add_advice",{
  310. "captcha_":captcha,
  311. "ident":ident,
  312. "email":email,
  313. "content":content
  314. }, function(msg) {
  315. if(typeof callback != 'undefined')return callback(msg);
  316. });
  317. },
  318. /**
  319. * 发送消息
  320. */
  321. send_msg:function(receiver,content,callback){
  322. $.post("/action/msg/sendMsg",{
  323. "receiver":receiver,
  324. "content":content
  325. }, function(msg) {
  326. if(typeof callback != 'undefined')return callback(msg);
  327. });
  328. },
  329. /**
  330. * 阅读消息
  331. */
  332. read_msg:function(id,callback){
  333. var params = '?';
  334. $.each(id,function(i,cur){
  335. params+="id="+cur;
  336. if(i<id.length-1){
  337. params+="&";
  338. }
  339. });
  340. if(params=='?'){
  341. params+="id="+id;
  342. }
  343. $.post("/action/msg/readMsg"+params,params, function(msg) {
  344. if(typeof callback != 'undefined')return callback(msg);
  345. });
  346. },
  347. /**
  348. * 阅读所有的未读消息
  349. */
  350. read_all_msg:function(type,callback){
  351. $.post("/action/msg/readAllMsg",{
  352. "v_code":User.v_code,
  353. "type":type,
  354. }, function(msg) {
  355. if(typeof callback != 'undefined')return callback(msg);
  356. });
  357. },
  358. /**
  359. * 将插件加到市场
  360. */
  361. add_to_market:function(id,callback){
  362. $.post("/action/plugin/add_to_market",{
  363. "id":id
  364. },function(msg) {
  365. if(typeof callback != 'undefined')return callback(msg);
  366. });
  367. },
  368. /**
  369. * 将代码更新到插件市场,id为code的id.
  370. */
  371. update_to_market:function(id,callback){
  372. $.post("/action/plugin/update_to_market",{
  373. "id":id
  374. },function(msg) {
  375. if(typeof callback != 'undefined')return callback(msg);
  376. });
  377. },
  378. /**
  379. * 从插件市场移出
  380. */
  381. delete_from_market:function(id,callback){
  382. $.post("/action/plugin/delete_from_market",{
  383. "id":id
  384. },function(msg) {
  385. if(typeof callback != 'undefined')return callback(msg);
  386. });
  387. },
  388. /**
  389. * 将代码设置为插件
  390. */
  391. set_plugin:function(id,sys,callback){
  392. $.post("/action/plugin/set_code_plugin",{
  393. "id":id,
  394. "sys":sys
  395. },function(msg) {
  396. if(typeof callback != 'undefined')return callback(msg);
  397. });
  398. },
  399. /**
  400. * 审核插件
  401. */
  402. check_plugin:function(id,callback){
  403. $.post("/action/plugin/check",{
  404. "id":id
  405. },function(msg) {
  406. if(typeof callback != 'undefined')return callback(msg);
  407. });
  408. },
  409. /**
  410. * 取消审核插件
  411. */
  412. uncheck_plugin:function(id,callback){
  413. $.post("/action/plugin/uncheck",{
  414. "id":id
  415. },function(msg) {
  416. if(typeof callback != 'undefined')return callback(msg);
  417. });
  418. },
  419. /**
  420. * 加到广场
  421. */
  422. add_to_square:function(id,callback){
  423. $.post("/action/square/add",{
  424. "id":id
  425. },function(msg) {
  426. if(typeof callback != 'undefined')return callback(msg);
  427. });
  428. },
  429. /**
  430. * 更新到广场
  431. */
  432. update_to_square:function(id,callback){
  433. $.post("/action/square/update",{
  434. "id":id
  435. },function(msg) {
  436. if(typeof callback != 'undefined')return callback(msg);
  437. });
  438. },
  439. /**
  440. * 添加分类
  441. */
  442. add_catalog:function(name,callback){
  443. $.post("/action/catalog/add",{
  444. "name":name
  445. },function(msg) {
  446. if(typeof callback != 'undefined')return callback(msg);
  447. });
  448. },
  449. /**
  450. * 分类重命名
  451. */
  452. rename_catalog:function(name,id,callback){
  453. $.post("/action/catalog/rename",{
  454. "name":name,
  455. "id":id
  456. },function(msg) {
  457. if(typeof callback != 'undefined')return callback(msg);
  458. });
  459. },
  460. /**
  461. * 删除分类,该分类必须没有代码
  462. */
  463. delete_catalog:function(id,callback){
  464. $.post("/action/catalog/delete",{
  465. "id":id
  466. },function(msg) {
  467. if(typeof callback != 'undefined')return callback(msg);
  468. });
  469. },
  470. /**
  471. * 移动到分类
  472. */
  473. move_to_catalog:function(code_id,catalog_id,callback){
  474. $.post("/action/catalog/move_to",{
  475. "id":code_id,
  476. "catalog":catalog_id
  477. },function(msg) {
  478. if(typeof callback != 'undefined')return callback(msg);
  479. });
  480. },
  481. /**
  482. * 设置代码类型
  483. */
  484. set_code_type:function(id,code_type,type,callback){
  485. $.post("/action/code/set_code_type",{
  486. "id":id,
  487. "code":code_type,
  488. "type":type
  489. },function(msg) {
  490. if(typeof callback != 'undefined')return callback(msg);
  491. });
  492. },
  493. less_compile:function(less,callback){
  494. $.post("/action/ajax/less_compile",less,function(msg) {
  495. if(typeof callback != 'undefined')return callback(msg);
  496. });
  497. }
  498. }
  499. };

这是一个例子,那么从例子中,我们可以学习到,如何封装一系列方法到一个对象中。

下面是如何调用已经封装好的方法,居然是如此的简练:

  1. $(function() {
  2. if (typeof isIE6 != "undefined") {
  3. $(".logo").attr({
  4. "class" : "ie6_logo"
  5. })
  6. }
  7. $(window).bind("resize", function() {
  8. resize();
  9. })
  10. $(".comment").click(function() {
  11. $(".fork").attr("class", "nofocus fork");
  12. $(this).attr("class", "focus comment");
  13. $(".detail_comment").show();
  14. $(".detail_fork").hide();
  15. });
  16. $(".fork").click(function() {
  17. $(".comment").attr("class", "nofocus comment");
  18. $(this).attr("class", "focus fork");
  19. $(".detail_comment").hide();
  20. $(".detail_fork").show();
  21. });
  22. $("#logout").click(function() {
  23. logout();
  24. });
  25. $(".prelogin").click(function() {
  26. new $.Zebra_Dialog($("#user_login").html(), {
  27. 'title' : '登录方式',
  28. 'modal' : true,
  29. 'width' : 460,
  30. 'type' : false,
  31. 'buttons' : [ {
  32. caption : '取消'
  33. } ]
  34. }).show();
  35. /*
  36. * var url; //转向网页的地址; var name; //网页名称,可为空; var iWidth; //弹出窗口的宽度; var
  37. * iHeight; //弹出窗口的高度; var iTop =
  38. * (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置; var iLeft =
  39. * (window.screen.availWidth-10-iWidth)/2; //获得窗口的水平位置;
  40. * window.open(url,name,'height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no');
  41. */
  42. });
  43. resize();
  44. $("button.detail_comment_button").click(function() {
  45. addComment();
  46. });
  47. $("textarea[name='content']").keydown(function(event) {
  48. if (event.ctrlKey && event.keyCode == 13) {
  49. addComment();
  50. }
  51. });
  52. $("#view_scale").change(function() {
  53. var sc = $(this).val();
  54. var w = '100%';
  55. var h = '100%';
  56. var t = 'scale(1)';
  57. if (sc == '0.5') {
  58. w = '200%';
  59. h = '200%';
  60. t = 'scale(0.5)';
  61. } else if (sc == '2') {
  62. t = 'scale(2)';
  63. }
  64. $("#code_detail").css({
  65. 'width' : w,
  66. 'height' : h,
  67. '-webkit-transform' : t,
  68. 'transform' : t
  69. });
  70. });
  71. $("#show_gist").mouseenter(function(){
  72. show_gist();
  73. });
  74. });
  75.  
  76. var resize = function() {
  77. var width = $(window).width();
  78. var cw = $(".comment").width();
  79. var w = width;
  80. if (w < 1000)
  81. w = 1000;
  82. w = w - 300 - 60;
  83. $(".detail_mainContent_left,.detail_comment_input textarea")
  84. .css("width", w);
  85. $(".detail_wrapper").css("width", width < 1000 ? 960 : width - 40);
  86. $(".fork").css("width", w - cw - 43);
  87. }
  88. function logout() {
  89. Api.ajax.logout(function(msg) {
  90. location.href = RURL;
  91. });
  92. }
  93. function login(op) {
  94. var url = "http://runjs.cn/action/openid/before_login?op=" + op; // 转向网页的地址;
  95. var name = "用" + op + "登录RunJS"; // 网页名称,可为空;
  96. var iWidth = 800; // 弹出窗口的宽度;
  97. var iHeight = 600; // 弹出窗口的高度;
  98. var iTop = (window.screen.availHeight - 30 - iHeight) / 2; // 获得窗口的垂直位置;
  99. var iLeft = (window.screen.availWidth - 10 - iWidth) / 2; // 获得窗口的水平位置;
  100. window
  101. .open(
  102. url,
  103. name,
  104. 'height='
  105. + iHeight
  106. + ',,innerHeight='
  107. + iHeight
  108. + ',width='
  109. + iWidth
  110. + ',innerWidth='
  111. + iWidth
  112. + ',top='
  113. + iTop
  114. + ',left='
  115. + iLeft
  116. + ',toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no');
  117. }
  118. function addComment() {
  119. var ctn = $("textarea[name='content']");
  120. var content = ctn.val();
  121. if (content.length == 0 || content == "觉得怎么样?赶紧说几句"){
  122. alert("请输入评论内容");
  123. return;
  124. }
  125. Api.ajax
  126. .add_comment(
  127. Code.id,
  128. content,
  129. function(msg) {
  130. var msg = eval("(" + msg + ")");
  131. if (msg.error) {
  132. alert(msg.msg);
  133. return false;
  134. }
  135. var comment = $('<li id="comment_'
  136. + msg.id
  137. + '">'
  138. + '<img src="'
  139. + User.portrait
  140. + '" width="48" height="48">'
  141. + '<p><a href="'
  142. + (typeof User.space == "undefined" ? 'javascript:void(0);'
  143. : User.space)
  144. + '">'
  145. + User.name
  146. + '</a><span class="time">1分钟前</span><span class="delete"><a href="javascript:removeComment('
  147. + msg.id + ');">删除</a></span></p>' + '<p>'
  148. + msg.content + '</p>' + '</li>');
  149. comment.hide();
  150. $(".detail_comment_list").prepend(comment);
  151. comment.show(500);
  152. $(".zeroComment").remove();
  153. ctn.val("");
  154. });
  155. }
  156. function removeComment(id) {
  157. if (confirm("确认删除此条评论?")) {
  158. Api.ajax
  159. .delete_comment(
  160. id,
  161. function(msg) {
  162. var msg = eval("(" + msg + ")");
  163. if (msg.error) {
  164. alert(msg.msg);
  165. return false;
  166. }
  167. $("#comment_" + id)
  168. .hide(
  169. 500,
  170. function() {
  171. $(this).remove();
  172. if ($(".detail_comment_list li").length == 0) {
  173. $(".detail_comment_list")
  174. .prepend(
  175. '<li class="zeroComment" style="text-align:center;">还没有人评论哦,赶紧抢个沙发吧~~</li>');
  176. }
  177. });
  178. });
  179. }
  180. }
  181.  
  182. function viewAll(t) {
  183. $(".detail_otherProject li").show();
  184. $("#view_all_li").remove();
  185. }
  186. function add_to_square(id) {
  187. Api.ajax.add_to_square(id, function(msg) {
  188. var msg = eval("(" + msg + ")");
  189. if (msg.error) {
  190. alert(msg.msg);
  191. return false;
  192. } else {
  193. alert("添加成功");
  194. location.reload();
  195. }
  196. });
  197. }
  198. function update_to_square(id) {
  199. Api.ajax.update_to_square(id, function(msg) {
  200. var msg = eval("(" + msg + ")");
  201. if (msg.error) {
  202. alert(msg.msg);
  203. return false;
  204. } else {
  205. alert("更新成功");
  206. location.reload();
  207. }
  208. });
  209. }
  210.  
  211. function delete_from_square(id) {
  212. $.post("/action/square/delete", {
  213. "id" : id
  214. }, function(msg) {
  215. var msg = eval("(" + msg + ")");
  216. if (msg.error) {
  217. alert(msg.msg);
  218. return false;
  219. } else {
  220. alert("去除成功");
  221. location.reload();
  222. }
  223. });
  224. }
  225. function love(id) {
  226. Api.ajax.vote(id, 1, function(m) {
  227. m = eval("(" + m + ")");
  228. if (m.error) {
  229. alert(m.msg);
  230. } else {
  231. var ar = $(".detail_interactArea_like a");
  232. ar.css({
  233. 'background-image' : 'url(../img/liked.gif)'
  234. });
  235. ar.attr("href", "javascript:void(0);");
  236. love_count++;
  237. ar.html("已喜欢<span>(" + love_count + ")</span>");
  238. }
  239. });
  240. }
  241. function show_gist(){
  242. $("#gist_span").show();
  243. $("#gist_input").focus().select();
  244. }

JS如何封装一些列方法为一个对象的操作,然后集中管理这些操作,方便修改和调用的更多相关文章

  1. JS中的对象和方法简单剖析

    众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...

  2. js jq封装ajax方法

    json文本格式 { "userInfo":[ {name:"admin",password:"123"}, {name:"adm ...

  3. JS实现继承,封装一个extends方法

    父类 function Person(name,age){ this.name = name; this.age = age; } Person.prototype = { eat:function( ...

  4. JS 对象封装的常用方式

    JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...

  5. react request.js 函数封装

    1.request.js  函数封装 import { Toast } from 'antd-mobile'; import axios from 'axios'; import store from ...

  6. Blazor组件自做八 : 使用JS隔离封装屏幕键盘kioskboard.js组件

    1. 运行截图 演示地址 2. 在文件夹wwwroot/lib,添加kioskboard子文件夹,添加kioskboards.js文件 2.1 常规操作,懒加载js库, export function ...

  7. JS中 call() 与apply 方法

    1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  8. JSF页面中使用js函数回调后台bean方法并获取返回值的方法

    由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...

  9. js中this和回调方法循环-我们到底能走多远系列(35)

    我们到底能走多远系列(35) 扯淡: 13年最后一个月了,你们在13年初的计划实现了吗?还来得及吗? 请加油~ 主题: 最近一直在写js,遇到了几个问题,可能初入门的时候都会遇到吧,总结下. 例子: ...

随机推荐

  1. 使用GO语言灵活批量ssh登录服务器执行操作

    摘要: 在工作中时常需要登录服务器做一系列操作,每次输入ssh xxx总是很麻烦.这时候为什么不考虑写一个通用的小脚本呢? go语言是一门新兴语言,能够在很多地方发挥总用.初学go语言,做了这么一个小 ...

  2. 通过硬件层提高Android动画的性能

    曾有许多人问我为什么在他们开发的应用中,动画的性能表现都很差.对于这类问题,我往往会问他们:你们有尝试过在硬件层解决动画的性能问题么? 我们都知道,在播放动画的过程中View在每一帧动画的显示时重绘自 ...

  3. Flume FileChannel优化(扩展)实践指南

    本文系微博运维数据平台(DIP)在Flume方面的优化扩展经验总结,在使用Flume FileChannel的场景下将吞吐率由10M/s~20M/s提升至80M/s~90M/s,分为四个部分进行介绍: ...

  4. js中的时间转换—毫秒转换成日期时间

    转自:http://www.javascript100.com/?p=181 前几天,在项目中遇到js时间增加问题,要将js毫秒时间转换成日期时间 var oldTime = (new Date(&q ...

  5. SQL Server数据库修改字段属性

      1:向表中添加字段 Alter table [表名] add [列名] 类型 2: 删除字段 Alter table [表名] drop column [列名] 3: 修改表中字段类型 (可以修改 ...

  6. vim/Gvim配置

    " Sections:" -> General" -> VIM user interface" -> Colors and Fonts&quo ...

  7. IIS短文件漏洞修复

    近期网站系统被扫描出漏洞:IIS短文件/文件夹漏洞 漏洞级别:中危漏洞 漏洞地址:全网站 漏洞描述:IIS短文件名泄露漏洞,IIS上实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举获取服务器根目录中的文 ...

  8. Oracle错误

    System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 这个是我页面报的错误,请帮解答 在错误出现的时候我第一时间现在了一个oracle客户端软件,然 ...

  9. leecode 回文字符串加强版

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  10. 将多个Sheet导入到同一个Excel文件中

    实体类excel import java.util.List; /** * 功能: * 描述: * @author * @date 2015-3-19 下午5:15:48 */ public clas ...