forward 跳转到 list。jsp。
第一行是我们曾经讲过的设置中文编码。第二行叫做 jsp action (jsp 动作),
它的写法和 html 标签很相像,有了它们我们可以节省很多 java 代码。比如,这
个 jsp 动作就与下面的代码功能相同。
从长度来看,jsp 动作明显占有绝对优势,在单独使用 forward 的时候,建议大
家优先考虑的写法。
45 / 148
…………………………………………………………Page 46……………………………………………………………
现在来看 list。jsp 里的内容,我们是如何获得这些联系信息,并把这些联系信
息显示到页面上。
为了便于操作,我们将所有对数据库的操作都封装到 anni。ContactDao 中,这就
是所谓的 javabean 了。现在我们想要获得所有联系信息时,只要创建一个
ContactDao 的实例,然后调用 contactDao。getAll()获得装满联系信息的 List
列表就好了。
在创建 ContactDao 实例的时候,我们使用了另一个 jsp 动作:jsp:useBean,它
就写在 list。jsp 的第二行。
看到这里,可能有朋友提问了,既然只是创建一个对象的实例,为什么不用 new
呢,那要比这样写的代码少许多,也更容易理解,为什么我们还要执意使用
jsp:useBean?只是为了尝试新技术吗?
这里我提醒大家注意一下标签中的 scope=〃application〃,application 正是我
们介绍过的四个作用域之一,既然有了这个属性就说明事情没有 new 这么简单
了,实际上正因为 scope 的属性,这段 jsp:usebean 实际上等价于下面的代码。
它会先去 scope 定义的作用域 application 中取得 contactDao 对应的对象,这
个 contactDao 正是标签中定义的 id,转换的对象类型则是标签中 class 属性的
值。
好的,我们先从 application 中获得 contactDao 对应的对象,然后判断得到的
是否为 null,如果为 null 说明此变量还没有初始化,这时就要使用 new 创建一
个对象实例并放入 application 中。最后我们得到的就是这个 contactDao 实例。
现在我们得到了一个 contactDao 实例,并把它放到 application 作用域中,供
所有用户公用,通过使用 jsp:useBean,我们下面就可以直接使用它获得需要的
数据。
{contact。username}
{contact。sex}
{contact。email}
{contact。qq}
{contact。descn}
修改 |
删除
首先我们调用 contactDao。getAll()获得联系信息的 List 列表,然后使用 for
循环将这些信息都输出到页面。
下面的操作比较有趣,我们每获得一条信息就把它放入 pageContext 中。之所以
这样做,是为了在下面使用 el 表达式显示信息。
el 表达式的一个特点就是必须放到作用域里才能调用,如果使用 Contact
contact = (Contact) list。get(i);而不放到 pageContext 中,后面的
{contact。username}就无法找到 contact 了。
这里还要提及 el 表达式的进一步用法,{contact。username}实际上得到的是
contact。getUsername()返回的结果。这里有一个默认的转换规则,假设有一个
getUsername()方法,我们先要去掉开头的 get,然后将 get 后的那个字母小写,
得到的 username 就是与 el 表达式中对应的部分。
有趣的是{contact。username}仅仅与 getUsername()方法对应,无论 contact
有没有 String username 这个变量。如果我们想使用{contact。nameAndSex},
只要写一个 public String getNameAndSex()方法返回我们想要的数据即可,不
需要添加 String nameAndSex;变量。
另一个放到 pageContext 中的row 就很直观了,我们根据行数的奇偶来决定当前
行使用的 css 样式,这样就可以显示出斑马线的效果了,这项功能并非必要,只
是为了娱乐。
47 / 148
…………………………………………………………Page 48……………………………………………………………
5。3。 Create(创建)
选择 list。jsp 中的“添加联系信息”,即进入 create。jsp 添加信息页面。
create。jsp 中没有包含 java,它提供给用户一个输入信息的表单,用户填写过
信息后就能点击提交按钮,将数据提交给 save。jsp 处理。
save。jsp 中与 create。jsp 相反,里边只有处理数据的 java 代码,没有显示的
内容。
jsp:useBean 的用处我们已经了解了,先从application 中取出 contactDao,再
创建一个 contact。在创建 contact 的时候没有指定 scope,默认情况下只会使
用 new 创建这个局部变量,不会对任何作用域产生影响。
jsp:setProperty 是新事物了,它的作用就是为某个 javabean 设置数据。之前
我们已经使用 jsp:useBean 创建了一个 contact 实例,现在我们通过
name=〃contact〃设置这个实例?
小说推荐
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- asp基础入门篇(DOC格式)
- ASP入门与实例-IIS的安装与配置1、运行环境与软件要求Windows 2000 以上(不包括Windows XP Home版)IIS 4.0 以上Microsoft Access 2000Dreamweaver MX2、IIS的安装与配置a.安装IIS若操作系统中还未安装IIS服务器,可打开"控
- 最新章:第23章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- Word2003使用技巧大全(DOC格式)
- Word使用技巧(二)表格使用大全更新时间:2009-11-16 19:32:15 本文共阅读了257次 作者:xushezheng 文章来源:电教组字体大小:大中小一、快速插入表格 拖动“插入表格”能插入的最大表格跟该图标位置、显示分辨率有关。如使用800×600分辨率时最大为18行×28列 二、
- 最新章:第1章
- Excel word ppt office使用技巧大全(DOC格式)
- -Page 1-Excel_word_ppt_使用技巧大全(完全版)Excelwordppt使用技巧大全(2011新版本)I-Page 2-Excel_word_ppt_使用技巧大全(完全版
- 最新章:第338章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章