9 Java Bean l Java Bean l Java
第 9讲 Java. Bean l Java. Bean简介 l Java. Bean的属性 l Java. Bean在JSP中的应用 l JSP开发模式 IT资讯交流网 WWW. IT 315. ORG
简单属性 package org. it 315; public class Register. Bean { private String nick. Name = null; private boolean male = false; public void set. Nick. Name(String nick. Name) { this. nick. Name = nick. Name; } public String get. Nick. Name() { return nick. Name; } public void set. Male(boolean male) { this. male = male; } public boolean is. Male() { return male; } } IT资讯交流网 WWW. IT 315. ORG
Indexed属性 package org. it 315; public class Register. Bean { private String [] specialities = new String[]{"none", "none"}; public void set. Specialities(String [] sp) { this. specialities = sp; } public void set. Specialities(int index, String sp) { specialities[index] = sp; } public String [] get. Specialities() { return specialities; } public String get. Specialities(int index) { return specialities[index]; } } IT资讯交流网 WWW. IT 315. ORG
Java. Bean在JSP中的应用 l 在JSP中如何使用Java. Bean l <jsp: use. Bean>标签 l <jsp: set. Property>标签 l <jsp: get. Property>标签 IT资讯交流网 WWW. IT 315. ORG
在JSP中如何使用Java. Bean 例程 例程1:test. Bean. jsp <jsp: use. Bean id="current. Date" class="java. util. Date"/> <jsp: set. Property name="current. Date" property="time" value="1234567"/> <jsp: get. Property name="current. Date" property="time"/> 例程2:test. Bean. jsp <% java. util. Date current. Date = new java. util. Date(); current. Date. set. Time(1234567); out. println(current. Date. get. Time()); %> IT资讯交流网 WWW. IT 315. ORG
<jsp: use. Bean>标签 内部原理 l JSP中的语句: <jsp: use. Bean id="current. Date" class="java. util. Date"/> l 翻译成的Servlet源码: java. util. Date current. Date = null; synchronized (_jspx_page_context) { current. Date = (java. util. Date) _jspx_page_context. get. Attribute( "current. Date", Page. Context. PAGE_SCOPE); if (current. Date == null){ current. Date = new java. util. Date(); _jspx_page_context. set. Attribute("current. Date", current. Date, Page. Context. PAGE_SCOPE); } } IT资讯交流网 WWW. IT 315. ORG
<jsp: set. Property>标签的应用形式 l <jsp: set. Property name="bean. Instance. Name" property="property. Name" value="{string | <%= expression %>}" /> l <jsp: set. Property name="bean. Instance. Name" property="property. Name" param="parameter. Name" /> l <jsp: set. Property name="bean. Instance. Name" property="property. Name" /> l <jsp: set. Property name="bean. Instance. Name" property="*" /> l <jsp: use. Bean id="bean. Instance. Name" …/> … <jsp: set. Property name="bean. Instance. Name" property="property. Name" …/> … </jsp: use. Bean> IT资讯交流网 WWW. IT 315. ORG
<jsp: set. Property>标签 实践 动手体验:<jsp: set. Property>标签的应用 多学两招:利用JSP表达式对Java. Bean的特殊类型 的属性进行赋值 l 举例: <jsp: use. Bean id="article" class="org. it 315. Article"/> <% board = new org. it 315. Board("java"); %> <jsp: set. Property name="article" property="board" value="<%= board %>"/> IT资讯交流网 WWW. IT 315. ORG
JSP开发模式 Model 1 IT资讯交流网 WWW. IT 315. ORG
JSP开发模式 Model 2 IT资讯交流网 WWW. IT 315. ORG
思考与实践(2) 3.使用一段脚本代码产生一个Java. Bean实例对象并将它存储进一个域范围中,然后使用 <jsp: set. Property>和<jsp: get. Property>标签来访问这个Java. Bean实例对象,如下所示: <% java. util. Date d = new java. util. Date(); page. Context. set. Attribute("x", d); %> <jsp: set. Property name="x" property="time" value="1234567"/> <jsp: get. Property name="x" property="time"/> 上面的程序能够正常运行吗? 4.如果a. jsp文件使用include指令静态包含了b. jsp文件,且a. jsp和b. jsp使用了相同的 <jsp: use. Bean>标签语句,如下所示: 文件清单:a. jsp <jsp: use. Bean id="my. Date" class="java. util. Date" scope="session"/> <%@ include file="b. jsp"%> 文件清单:b. jsp <jsp: use. Bean id="my. Date" class="java. util. Date" scope="session"/> 请问:a. jsp页面运行时会出现错误吗?为什么?如果a. jsp文件改用<jsp: include>标签来动态 包含b. jsp页面会出现错误吗?为什么? IT资讯交流网 WWW. IT 315. ORG
- Slides: 43