JSP(6)—JavaBean及案例
基础:
一、JavaBean
①用作JavaBean的类必须是具有一个公共的无参数的构造方法
②JavaBean的属性是以方法定义的形式出现的。
③JavaBean的属性名是根据Setter和getter方法名称的来的,getter或setter方法去掉前缀set或get后的
部分即为属性名,但属性名的首字母必须小写。
④JSP中定义了三个标签<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>
分别用于创建
和查找JavaBean的实例对象,设置JavaBean对象的属性,读取JavaBean对象的属性。
⑤对于JSP页面来说只要一个类是具有一个公共的、无参数的构造方法,就可以把这个类当作JavaBean来使用。
⑥方法:<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>
注意使用<jsp:getProperty>
跨页面传参数时需要和<jsp:useBean>
一块使用,代码比较繁琐。后面可以使用EL表达式。
a.jsp:
< ! – 注意使用<jsp:getProperty>
跨页面传参数的时侯需要和< jsp:useBean >一块使用 –>
<a href="bean2.jsp">To bean2 Page</a>
<jsp:useBean id="customer" class="com.shopCart.Customer.Customer" scope="session"></jsp:useBean>
<jsp:setProperty property="username" name="customer" value="test"/>
<a href="b.jsp">To B Page</a>
b.jsp:
<jsp:useBean id="customer" class="com.shopCart.Customer.Customer" scope="session"></jsp:useBean>
username:<jsp:getProperty property="username" name="customer"/>
案例:
a.jsp
<body>
<!-- 注意使用< jsp:getProperty >跨页面传参数的时侯需要和< jsp:useBean >一块使用 -->
<a href="bean1.jsp">To bean1 Page</a>
<jsp:useBean id="customer" class="com.test.bean.Customer" scope="session"></jsp:useBean>
<jsp:setProperty property="username" name="customer" value="test"/>
<a href="b.jsp">To B Page</a>
</body>
b.jsp
<body>
<jsp:useBean id="customer" class="com.test.bean.Customer" scope="session"></jsp:useBean>
username:<jsp:getProperty property="username" name="customer"/>
</body>
bean1.jsp
<body>
<jsp:useBean id="customer" class="com.test.bean.Customer" scope="session"></jsp:useBean>
username:<jsp:getProperty property="username" name="customer"></jsp:getProperty>
</body>
bean.jsp
<body>
<!-- 不经常使用,了解即可 -->
<!-- 1.jsp:useBean -->
<jsp:useBean id="customer" class="com.test.bean.Customer" scope="session"></jsp:useBean>
<!-- 其作用如下: -->
<%-- <%
//1.从scope(session)中获取id(customer)属性值,赋给class(Customer)类型的id(customer)
Customer customer1 = (Customer)session.getAttribute("customer1");
//2.若属性值为空,则利用反射创建一个新的对象,把该对象赋给id(customer)并以id为属性名存到scope(session)中
if(customer == null){
customer1 = (Customer)Class.forName("com.shopCart.Customer.Customer").newInstance();
session.setAttribute("customer", customer1);
}
%>--%>
<!-- 2.jsp:setProperty 设置属性值-->
<jsp:setProperty property="username" name="customer" value="test"/>
<!-- 其作用如下: -->
<%-- <%
customer.setUsername("test");
%> --%>
<!-- 3.jsp:getProperty 获取属性值-->
username:<jsp:getProperty property="username" name="customer"/>
<!-- 其作用如下: -->
<%-- <%
customer.getUsername();
%> --%>
<!-- 4.为所有的属性赋值, property的值为*,则自动的为所有的属性赋值为对应的请求参数的值。在地址栏中输入
http://localhost:8080/Demo7_Cookie_Session/ Demo10_JavaBean/bean.jsp
?username=root&address=Beijing&cardType=Visa&card=1234-->
<jsp:setProperty property="*" name="customer"/>
<!-- 5.use:Bean 的另外一种用法 -->
<jsp:useBean id="customer2" beanName="com.test.bean.Customer" type="java.lang.Object" scope="session"></jsp:useBean>
<!-- 其作用如下: -->
<%
Object customer3 = session.getAttribute("customer2");
if(customer3 == null){
customer2 = Class.forName("com.test.bean.Customer").newInstance();
session.getAttribute("customer2");
}
%>
<br><br>
address:<jsp:getProperty property="address" name="customer"/>
<br><br>
cardType:<jsp:getProperty property="cardType" name="customer"/>
<br><br>
card:<jsp:getProperty property="card" name="customer"/>
</body>
JSP(6)—JavaBean及案例的更多相关文章
- jsp 以及javabean内省技术
l JSP l JavaBean及内省 l EL表达式 1.1 上次课内容回顾 会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服 ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- JSP+Servlet+javabean+oracle实现页面多条件模糊查询
之前写过一篇JSP+Servlet+javabean+mysql实现页面多条件模糊查询 使用的是mysql进行的分页查询,mysql用limit控制,而oracle则是用rownum,今天第一次写or ...
- jsp学习---使用jsp和JavaBean实现超简单网页计算器
一.需求 如题,用jsp实现一个超简单的网页计算器. 二.实现 1.效果图 1)初始界面: 2)随便输入两个数进行相乘: 3)当除数为零时提示报错: 2.代码 Calculator.java pack ...
- javaWeb 使用 jsp 和 javaBean 实现计算器功能
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- JSP中使用的模式——JSP+Servlet+JavaBean
上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.c ...
- MVC jsp+servlet+javabean 连接Mysql数据库測试demo
本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...
- JSP共享javabean
JavaBean是一种可重复使用,且跨平台的软件组件.JavaBean可分为两种:一种是有用户界面(UI)的javaBean:还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的jav ...
随机推荐
- pandas处理finance.yahoo股票数据 WTI CL USO OIL
1.参考 用Python做科学计算-基础篇 »matplotlib-绘制精美的图表 »快速绘图 使用pyplot模块绘图 2.数据来源 CL USO OIL 3.代码 #encoding='utf-8 ...
- PrintDocument打印、预览、打印机设置和打印属性的方法
WindowsForm 使用 PrintDocument打印.预览.打印机设置和打印属性的方法. private void Form1_Load(object sender, System.Event ...
- jquery对form表单复杂(多个)条件的判断验证
//按钮先执行验证再提交表 $(document).ready(function(){ // 点击查看图片 $('.nyroModal').nyroModal(); //按钮先执行验证再提交表单 $( ...
- Codeforces 873E Awards For Contestants ST表
原文链接https://www.cnblogs.com/zhouzhendong/p/9255885.html 题目传送门 - CF873E 题意 现在要给 $n(n\leq 3000)$ 个学生颁奖 ...
- Codeforces Round #487 (Div. 2) 跌分有感
又掉分了 这次的笑话多了. 首先,由于CF昨天的比赛太早了,忘记了有个ER,比赛开始半个小时才发现. 于是只能今天了. 嗯哈. 今天这场也算挺早的. 嗯嗯,首先打开A题. 草草看了一遍题意,以为不是自 ...
- nssm部署.net core console到windows服务
轻便式发布 与.net fx不同 需要dotnet.exe来引导 Path:默认为 C:\Program Files\dotnet\dotnet.exe: Startup directory:程序所在 ...
- P1330 封锁阳光大学 DFS
题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...
- L1-006 连续因子 (20 分) 模拟
一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的 ...
- JavaSE| 面向对象-类的五大成员
面向对象 面向对象只是其中一种编程思想,还有很多其他的编程思想:面向过程.面向切面.面向服务编程... 面向过程的思维方式:注重步骤.过程,面向过程强调的是功能行为: 面向对象的思维方式:关注的是“对 ...
- 关于忘记Jenkins管理员密码的解决办法
一.admin密码未更改情况 1.进入\Jenkins\secrets目录,打开initialAdminPassword文件,复制密码: 2.访问Jenkins页面,输入管理员admin,及刚才的密码 ...