JAVA入门[12]-JavaBean
一.什么是JavaBean
JavaBean是特殊的Java类,使用Java语言书写,并且遵守规范:
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了Serializable接口。
- 可能有一系列可读写属性。
- 可能有一系列的"getter"或"setter"方法。
二.定义JavaBean
- package com.cathy.domain;
- public class Category implements java.io.Serializable{
- public Category(){}
- private int cateId;
- private String cateName;
- public int getCateId() {
- return cateId;
- }
- public void setCateId(int cateId) {
- this.cateId = cateId;
- }
- public String getCateName() {
- return cateName;
- }
- public void setCateName(String cateName) {
- this.cateName = cateName;
- }
- }
三、访问JavaBean
1. <jsp:useBean> 标签可以在JSP中声明一个JavaBean,语法格式如下:
- <jsp:useBean id="bean 的名字" scope="bean 的作用域" />
其中scope的值可以是page,request,session或application
2.设置和获取JavaBean属性
在 <jsp:useBean> 标签主体中使用 <jsp:getProperty/> 标签来调用 getter 方法获取属性,使用 <jsp:setProperty/> 标签调用 setter 方法设置属性。语法格式:
- <jsp:useBean id="id" class="bean 类" scope="bean 作用域">
- <jsp:setProperty name="bean 的 id" property="属性名"
- value="value"/>
- <jsp:getProperty name="bean 的 id" property="属性名"/>
- ...........
- </jsp:useBean>
其中name属性指的是Bean的id属性,property属性指的是想要调用的getter或setter方法
四、示例
1.示例:在当前jsp页面设置和获取javabean属性
- <jsp:useBean id="category" class="com.cathy.domain.Category">
- <jsp:setProperty name="category" property="cateId" value="2"></jsp:setProperty>
- <jsp:setProperty name="category" property="cateName" value="女装"></jsp:setProperty>
- </jsp:useBean>
- <div>
- id:<jsp:getProperty name="category" property="cateId"></jsp:getProperty>
- </div>
- <div>
- name:<jsp:getProperty name="category" property="cateName"></jsp:getProperty>
- </div>
2.示例:在edit.jsp 页面form表单提交信息,在detail.jsp页面中显示。
edit.jsp
- <form action="/category/detail" method="post">
- 商品id:<input type="number" name="cateId">
- 商品名称:<input type="text" name="cateName">
- <input type="submit" value="提交">
- </form>
detail.jsp
如果表单中的属性名称和JavaBean中属性对应,那么可以简化jsp:setProperty写法,直接property="*"
- <jsp:useBean id="category" class="com.cathy.domain.Category">
- <jsp:setProperty name="category" property="*"></jsp:setProperty>
- </jsp:useBean>
- <table>
- <tr>
- <td>id:</td><td><jsp:getProperty name="category" property="cateId"></jsp:getProperty></td>
- </tr>
- <tr><td>名称:</td><td><jsp:getProperty name="category" property="cateName"></jsp:getProperty></td></tr>
- </table>
问题:通过表单提交中文数据时遇到乱码问题:
- <%request.setCharacterEncoding("UTF-8");%>
效果:
3.示例:JavaBean实现访问计数
首先创建计数JavaBean:
- public class Counter {
- private int total=0;
- public int getTotal() {
- return total++;
- }
- }
在index.jsp和edit.jsp文件中调用该JavaBean,注意将scope设置为application。
- <jsp:useBean id="counter" class="com.cathy.domain.Counter" scope="application"></jsp:useBean>
- <div>
- 访问计数:<jsp:getProperty name="counter" property="total"></jsp:getProperty>
- </div>
刷新这两个页面时,都能实现计数器累加。
JAVA入门[12]-JavaBean的更多相关文章
- JAVA入门--目录
在此记录自己的JAVA入门笔记,备忘 JAVA入门[1]--安装JDK JAVA入门[2]-安装Maven JAVA入门[3]—Spring依赖注入 JAVA入门[4]-IntelliJ IDEA配置 ...
- 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- Java入门记(五):容器关系的梳理(下)——Map
注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...
- Android初涉及之Android Studio&JAVA入门--二月不能不写东西
是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...
- Java入门教程总目录
Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务
- Java入门的程序汇总
Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...
- JAVA入门第一季(mooc-笔记)
笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...
- JAVA入门[9]-mybatis多表关联查询
概要 本节要实现的是多表关联查询的简单demo.场景是根据id查询某商品分类信息,并展示该分类下的商品列表. 一.Mysql测试数据 新建表Category(商品分类)和Product(商品),并插入 ...
随机推荐
- 02.JSP内置对象
一.内置对象:不再由用户进行实例化而可以直接使用的对象,一共九种,一定要清楚的记住每种内置对象的类型,以方便查询文档. 二.四种属性保存范围 1, 属性保存范围:指一个设置的对象,可以经过多少个其他 ...
- 借助 frp 随时随地访问自己的树莓派
前言 看了知乎上的一个「树莓派」是什么以及普通人怎么玩? 的高票回答,双十一时间,果断买了一个树莓派 3. 周一(11.13) 到的货.我目前只想实现一个简单的功能 -- 想从任意位置访问我的树莓派. ...
- GPIO复位功能说明
根据STM32L0x3参考手册RM0367,每个General-Purpose IO口,有以下寄存器: 1.4个32位的控制寄存器,分别为GPIOx_MODER,GPIOx_OTYPER,GPIOx_ ...
- C#脏字过滤算法
public class DirtyWordOper { private static Dictionary<string, object> hash = new Di ...
- ssh相关原理学习与常见错误总结
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 冒泡排序-Python与PHP实现版
Python实现 import random a=[random.randint(1,999) for x in range(0,33)] # 冒泡排序,python中数组是按引用传递的,会直接在原数 ...
- mysql实现高可用架构之MHA
一.简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 mas ...
- web-故道白云&Clound的错误
web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method="get"同时 ...
- 《java.util.concurrent 包源码阅读》19 PriorityBlockingQueue
前面讲ScheduledThreadPoolExecutor曾经重点讲到了DelayedWorkQueue,这里说的PriorityBlockingQueue其实是DelayedWorkQueue的简 ...
- C# Code First 实例学习
Code First是Entity Framework提供的一种新的编程模型.通过Code First我们可以在还没有建立数据库的情况下就开始编码,然后通过代码来生成数据库.下面具体讲解一下,在操作的 ...