您的位置:首页 > Web前端 > JavaScript

关于JSP基本语法的练习

2017-03-24 13:02 218 查看
这是一道李兴华老师的Java Web开发实战经典里面的5.9的课后题。

先看一下题目要求:



有两种思路,一种是局部加载,只需要更新列表即可;另一种就是重新加载整个网页。

一开始做的时候,我并不清楚正确的思路是怎样的,但想想理想的状态应该是前者,但是我并不知道如何实现动态加载,我想可能是需要Ajax知识吧,应该也可以使用内部嵌入框架来实现局部加载。

在前面学的知识里并没有局部加载的相关知识,所以我看了课后题答案,发现李兴华老师的思路也会全局重新加载,而且它是重复调用同一个jsp文件。

那么好吧,开整:

首先,我们需要一个表单来盛放“首页”、“上一页”、“下一页”、“尾页”四个按钮,同时需要一个hidden类型的input标签去保存即将要显示的一页的页号:



他们的onClick事件都调用了同一个js函数:



第一个参数是页号,第二个是表中所有的记录行数。

首先算出表中的数据一共能显示几页,在这里按照每页显示5行来做的,如果取余等于0说明正好,如果不等于0说明还有一页没满5行的所以加一页;

然后判断即将要显示的页号是否小于0,如果小于0了说明当前页已经是第一页了,如果大于总页数-1(因为页号从0开始计)说明已经是最后一页了。注意要return;表示不往下执行了。

最后找到表单元素,按照(.name属性的值)去找到表单中的hidden类型的input元素,通过(.value)去修改他的value值为即将要现实的页号,注意在课后题答案中以及书中都会发现写的是document.getElementById("name属性的值"),我试过,这样连编译都通不过,可能是作者笔误。然后进行提交(.submit())。

按照JDBC的流程去读取数据库:





记住这里声明的变量不要带权限修饰符,如public。





这里总共调用两次查询操作,第一次是获取表中所有数据的数量(为了分页);第二次是获取当前页的所有数据(注意是当前页,limit语句,并不是表中的所有数据)。



这一部分就是按照取出的数据,填充表格元素,值得一提的是,获取结果集的长度,然后判断是否填充满整页,如果没有填充空行,注意是空格占位符" "才会占出和其他有元素的行同样的高度。

最后,第二题加上模糊查询,注意语句一定要写对,还有中文关键字查询要记得在request.getParameter(“表单中name属性的值”)后转码,在上面填出的代码中有介绍。



效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web