传智播客itcastTMS系统测试随笔——

来源:互联网 发布:网络正常游戏老是掉线 编辑:程序博客网 时间:2024/04/29 11:47

 注意:服务器端验证错误后的跳转

一、
loginUI界面
前台:js验证
密码、用户名不能为空
用户名和密码都不能少于 6  个字符
用户名不能包含特殊字符
[通过]
后台:
数据格式验证:
[通过]
业务验证:
[通过]


二、
员工录入界面
前台:
验证框架的验证
[通过]
ajax验证
[通过]
后台:
数据验证
[通过]
业务验证
[通过]


三、
员工查询
……不使用json读取的分页
[通过]
json分页
[通过]
右键删除

四、
员工详细界面修改



注意:
ajax-list 界面,当alert('${pageurl}');
放在外部js时,不好使,因为解析不了。
放在jsp界面就好使。

这就需要解析过程,http1.1应该是这样的,
先<script type="text/javascript" src="${basePath }/js/employee/employee_list_json.js"></script>
完,之后再去加载指定地方的js文件,这样的话那么'${pageurl}'就解析不出来了

一定要分析解析的过程!!
alert($("#lastPageNumber").val());
先jsp解析成html之后
在html中先从上往下解析,
当window.onready=function(){}
是在html解析完再解析js。

??当js中遇见${basePath}时??
应该就需要放在jsp界面

============================
当不涉及节点的可以一开始就加载
===一开始就加载===
//显示的颜色交替
$(".its > tbody > tr:even").css("background-color", "#fff");
$(".its > tbody > tr:odd").css("background-color", "#fea");

===放入function===
//让loading隐藏
$("#loading").hide();
============================

为什么经过之后事件,还要重复注册??
我觉得还是异步的问题,关键看这个跟注册事件的js的时间前后??
var hf1 = "[<a href='${pageurl }1'id='firstpage'>首页</a>/<a href='${pageurl }"+num1+"'id='prepage'>上一页</a>]";
var prePageHtml = currentPage==1?"[首页/上一页]":hf1;
var toPageHtml = '<span id="pagelist">'+
'转到 <input type="text" name="currentPage" size="1" height="1" class="logintxt"/> 页'+
'</span>';
var num2 = parseInt(currentPage)+1;       
alert(num2);         
var hf2 = "[<a href='${pageurl }"+num2+"'id='nextpage'>下一页</a>/<a href='${pageurl}${data.totalPage}' id='lastpage'>末页</a>]";
var nextPageHtml = currentPage==data.totalPage?"[下一页/末页]":hf2;
var $pageLinks = prePageHtml+toPageHtml+nextPageHtml;
$(".pagelinks").html($pageLinks);
================

总结:
浏览器发送同步请求  ==========  到服务器    ====== 服务器经过一系列的操作 之后到jsp界面 ==== jsp引擎把jsp界面解析
解析jsp界面 === 会有一些session的渲染
解析struts标签,jstl标签
涉及    el 表达式    ,解析  el是jsp所特有的,是sun官方推荐的
(当el表达式在js脚本上时)
如果js脚本在jsp界面会解析    ??否
如果js脚本在外部文件系统中,不会解析  ??
解析完jsp成html,响应到浏览器。
浏览器从上往下一行行的加载,
当加载到<link/><script src/>等标记的时外部js、css,
此时会继续加载下面,等加载完或同时多线程加载(好像是http1.1的新特性,就跟加载图片一样)

当加载的是本地js脚本和css脚本
对js要求,
如果某些js表达式不在window.onready=functinon(){}内时,
如果涉及到节点找不到则注册的事件或行为不起作用如:$("#sub").click(function(){alert("aa")});
如果不涉及节点则可以放到外部                               


浏览器发送异步请求  ==========  到服务器  ====== 服务器经过一系列的操作 不会再转发到jsp界面,这样jsp引擎就不会去解析jsp
异步的回调函数做了一些修改,
如果修改的节点以前给注册过行为的话,会出现谁加载快的问题。看上71行。

还是有点想不通,难道在加载js时也有顺序??
我觉得回调函数修改的只是一段内容,不会在去加载整个js或html,那么注册的事件怎么会丢失呢??



优化思路:
一、关于js加载的问题,为了界面的纯洁性,把js写在外部js,再在外部写个jspf,把js引用在jspf上,
在jsp界面<% include file="****.jspf" %>


二、关于列表界面右键删除一条记录之后,数据的刷新
可以这样,点击删除时调用 ajaxPage 函数,追加一些参数,
如 当前是为了删除一条记录,当前页面记录数还是由数据库自己去查。
主要是让后台去处理


================
今天黎老师给的解决方案比较不错,把js写在外部的jspf文件里,再包含源文件<% include file=""%>
这样界面纯净多了!!

原创粉丝点击