java_第一年_JavaWeb(9)
JavaBean是一个遵循某种特定写法的Java类,有以下特点:
- 必需具有一个无参的构造函数
- 属性必需私有化
- 私有化的属性必需通过public类型的方法暴露给其它程序,其方法命名也有一定的规范
范例:
package lzj.learn;
public class Person{
private String name;
private String age;//私有化的属性
public Person(){
}//无参的构造函数;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
pubilc int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}//通过public方法对私有化属性进行添加并查询;其方法名固定为set、get后接属性名且属性名第一个字母要大写;
}
在JSP中使用JavaBean
JSP提供了3个关于JavaBean组件的动作标签
- <jsp:useBean>标签:表明在JSP页面中查找或实例化一个JavaBean组件;
语法:
<jsp:useBean id = "xxx" class = "package.class" scope = "page|request|session|application" />
其中id属性表示所实例化JavaBean的对象名,class属性表示其完整的类名,必需带有包名,scope属性表示其实例化对象的储存的域范围,默认是page;
- <jsp:setProperty>标签:设置一个JabaBean组件的属性
语法:
<jsp:setProperty name = "beanName" property = "propertyName" value = "string字符串|<%=expression%>|parameterName" />
其中name属性的实例化的JavaBean对象名,也就是前面<jsp:useBean>标签中的id属性所设定的对象名;property属性是所要设置的属性名,value属性可包含字符串、表达式或变量参数值;变量参数值即表示其值可由自己通过parameterName=“xxx”设定;
- <jsp:getProperty>标签:获取一个JavaBean组件的属性
语法:
<jsp:getProperty name = "beanName" property = "PropertyName" />
其中name、property属性意义和上述的setProperty标签的属性类似;
结合3大jsp相关的javabean标签和上述给的Person类做一个简单的JSP页面:
<% page language = "java" import = "java.util.*" pageEncoding = "UTF-8" %>
<jsp:useBean id = "person" class="lzj.learn.Person" scope = "page" />
<%
person.setName("小兆")
%>
<jsp:setPorperty name = "person" property = "age" param = "parameterName" />
<! DOCTYPE HTML>
<html>
<head>
<title>jsp:javabean使用范例</title>
<head>
<body>
<h2>姓名:<%=peason.getName()%></h2>
<h2>年龄:<jsp:getPorperty name = "person" property = "age" /></h2>
</body>
</html>
由于我们在使用<jsp:setPorperty>标签时所设置的参数值是变量参数param,因此在调用该jsp时要指定其值,类似http://xxx.xxx/xxx/xxx.jsp?parameterName=23这样,将属性age的值设定为23后再将其显示;
java_第一年_JavaWeb(9)的更多相关文章
- java_第一年_JavaWeb(14)
EL :EL表达式主要用于获取数据.执行运算.获取对象.调用java方法: 获取数据 语法:"${标识符}" 会调用pageContext.findAttribute方法,从pag ...
- java_第一年_JavaWeb(13)
JSTL标签库——核心标签库 为了弥补html标签的不足,为了更加方便地在jsp页面中使用java逻辑代码,JSTL标签库因运而生,而其中的佼佼者,被恩宠最多的就是核心标签库了: 核心标签库从功能上可 ...
- java_第一年_JavaWeb(11)
自定义标签:主要是用来移除JSP页面中的java代码. 先从一个简单的案例了解其怎么移除代码: 一个正常的jsp页面: <%@ page language="java" pa ...
- java_第一年_JavaWeb(15)
Filter过滤器,Servlet API 中提供了一个Filter接口,用于实现用户在访问某个目标资源前对其进行拦截: 拦截原理:web服务器通过Filter接口调用doFilter方法,会传递一个 ...
- java_第一年_JavaWeb(12)
SimpleTag标签 定义了五个方法:setJspContext.setJspBody.setParent和getParent以及最重要的doTag方法(完成了所有的业务逻辑): setJspCon ...
- java_第一年_JavaWeb(10)
JavaWeb的两种开发模式 JSP+JavaBean框架:JavaBean负责封装数据.提供方法,JSP负责处理用户请求和显示数据:只能开发较为简单的业务: JSP+JavaBean+Servlet ...
- java_第一年_JavaWeb(8)
前面说到,JSP在运行时会被编译成Servlet源代码,通过_jspServlet方法处理请求,此时该方法会传递和提供9个与web开发相关的对象进行使用,开发人员在JSP页面通过对这些变量即可引用这9 ...
- java_第一年_JavaWeb(7)
JSP执行过程 客户端发出请求访问JSP文件 JSP Container将要访问的JSP文件转译为Servlet的源代码(转译时期),并将其编译成.class文件(编译时期): 执行编译后的.clas ...
- java_第一年_JavaWeb(6)
会话 会话:浏览器从打开一个进程访问服务器到该浏览器关闭,我们称之为一个会话: 在浏览器和服务器交互期间,会不可避免地产生一些数据,而为了为每个用户保存其对应的数据,可使用两种技术:Cookie和Se ...
随机推荐
- 2019-8-31-dotnet-core-集成到-Mattermost-聊天工具
title author date CreateTime categories dotnet core 集成到 Mattermost 聊天工具 lindexi 2019-08-31 16:55:58 ...
- 03.LinuxCentOS系统root目录LVM磁盘扩容
根目录LVM扩容操作步骤: [root@centos7 ~]# df -lh文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 50G 7.7G 43G 6% / ...
- [APIO2009]抢掠计划(Tarjan,SPFA)
[APIO2009]抢掠计划 题目描述 Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机.令人奇怪的是, ...
- fork和vfork的区别
参见百度百科API说明: fork 头文件: #include<unistd.h> #include<sys/types.h> 函数原型: pid_t fork( void); ...
- bzoj5015 [Snoi2017]礼物 矩阵快速幂+二项式展开
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5015 题解 设 \(f_i\) 表示第 \(i\) 个朋友的礼物,\(s_i\) 表示从 \( ...
- 触发redo写的几个条件
触发redo写的几个条件 作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:http://www.eygle.com/archive ...
- [BZOJ] 最长距离
问题描述 windy 有一块矩形土地,被分为 NM 块 11 的小格子. 有的格子含有障碍物.如果从格子 A 可以走到格子 B,那么两个格子的距离就为两个格子中心的欧几里德距离.如果从格子 A 不可以 ...
- TreeMap定制排序和自然排序
TreeMap定制排序和自然排序自然排序是实现Comparable接口的方法.代码如下: @Override public int compareTo(Object o) { if (o instan ...
- Linux学习-DNS服务相关
一.DNS服务简介 1.基本概念 (1) DNS( Domain Name System )域名系统,是一种组织成域层次结构的计算机和网络服务命名系统,是一个应用层协议,使用TCP与UDP的53端口, ...
- python全栈开发,Day43(引子,协程介绍,Greenlet模块,Gevent模块,Gevent之同步与异步)
昨日内容回顾 I/O模型,面试会问道 I/O操作,不占用CPU,它内部有一个专门的处理I/O模块 print和写log属于I/O操作,它不占用CPU 线程 GIL保证一个进程中的多个线程在同一时刻只有 ...