jsp:useBean标准动作
1.bean法则
JavaBean和企业JavaBean是完全不相干的两个东西。普通的非企业JavaBean需要满足一定的规范才能被JSP和servlet使用:
1)必须有一个无参数的公共构造函数;
2)必须按命名约定来命名公共的获取方法和设置方法;
3)设置方法的参数类型和获取方法的返回类型必须一样;
4)性质名和类型是由获取方法和设置方法得出,而不是得自于类的一个成员;
5)结合JSP使用时,性质类型必须是String或者其他基本类型,否则还是要使用脚本;
2.为什么使用标准动作
通过使用标准动作,可以消除JSP中的所有脚本代码,标准动作会使JSP更简单。
例如在servlet中设置了一个person属性:


使用bean标准动作对web页面设计人员的意义比对java程序员的意义更重大,他们不需要了解底层的只是,可以把bean想成是包含字段的记录,而且使用标准动作比使用脚本更容易维护。
3.<jsp:useBean>用法
声明和初始化一个bean属性

如果使用<jsp:useBean>在scope中找不到属性对象,它就会创建一个,scope默认为page。
设置bean的属性值

如果把<jsp:setProperty>放在<jsp:useBean>的体中,只有在创建新bean时才会设置属性值。如果发现对于制定的scope和id已经有一个bean,就不会运行体中的set方法重置这个属性。
得到bean的属性值
bean的多态引用
可以使用<jsp:useBean>建立多态的bean引用,其中type指定引用类型,class为对象类型。如果使用了type,但没有class,bean必须已经存在,否则,即使type设置为具体的对象类型,容器还是假定只有引用类型,没有对象类型,会报错无法初始化person对象。


向bean发送请求参数
可以使用<jsp:setProperty>的param属性向bean发送请求参数,设置bean的属性,只需指定请求参数

还可以这样

如果请求参数名与bean属性名匹配,就不需要在<jsp:setProperty>标记中为该性质指定值
甚至还可以这样

bean标记会自动转换基本类型的性质,不用自己来完成解析和转换。但是如果使用脚本,bean不会完成String 到基本类型的转换:

jsp:useBean标准动作的更多相关文章
- include指令和<jsp:include>标准动作
利用JSP的包含机制,可以有效的避免重复,把可重用的部分独立出去,使用include把它们包含到当前文件.JSP有两种包含机制:include指令和<jsp:include>标准动作. 1 ...
- <jsp:useBean>动作的使用
jsp:useBean动作的使用 jsp:useBean动作用于在指定的范围内寻找指定名称的JavaBean对象,如果找到,则返回该对象的引用可以操作里边的属性.如果没有找到则重新实例化一个对象.并且 ...
- [04] JSP标准动作
1.概述 JSP规范中定义了一系列的标准动作,Web容器按照规范进行了实现,可以解析并执行标准动作.而标准动作使用的是标准的xml语法,看上去也比较直观易懂,下面来看一个结构例子: <jsp:a ...
- jsp标准动作
JSP标准动作元素的使用格式为:<jsp:标记名>,它採用严格的xml标签语法来表示.这些jsp标签动作元素是在用户请求阶段运行的,这些标准动作元素是内置在jsp文件里的,所以能够直接使用 ...
- Java Web程序设计笔记 • 【第4章 JavaBean和JSP标准动作】
全部章节 >>>> 本章目录 4.1 JavaBean 4.1.1 JavaBean 概述 4.1.2 JavaBean的重要性 4.1.3 JavaBean的特点 4.1 ...
- JSP通用7动作命令
JSP通用7动作命令 1.jsp:forward指令 运行页面转向.将请求处理转发到下一个页面 2.jsp:param指令 用于传递參数 3.jsp:include指令 用于动态引入 ...
- JSP指令与动作
Jsp基本指令和动作 (2011-08-18 16:25:13) 转载▼ 标签: 杂谈 分类: java JSP基本指令 jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出 ...
- <jsp:useBean>、<jsp:setProperty>与<jsp:getProperty>
<jsp:useBean>标签 会调用java对象的无参构造方法,来创建实例. <jsp:useBean>标签是用来搭配JavaBean元件的标准标签,这里指的JavaBean ...
- 【jsp】jsp中的动作元素
一,动作元素(Action):预定义的java代码.目的在于代码的可重用性. 1,为请求阶段提供信息,允许在页面之间转移控制权. 2,JSP2.0规范定义了标准动作,标准动作是一些标签,影响JSP运 ...
随机推荐
- POJ 2063 Investment 完全背包
题目链接:http://poj.org/problem?id=2063 今天果然是卡题的一天.白天被hdu那道01背包的变形卡到现在还没想通就不说了,然后晚上又被这道有个不大也不小的坑的完全背包卡了好 ...
- gdufs 1237 最优分解问题
题目链接:http://cstfs.gdufs.edu.cn:8080/JudgeOnline/problem.jsp?id=1237 (好像是内网的0.0) 简单来说,这道题目就是把一个数分解为若干 ...
- DOM节点操作
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1 一.创建节 ...
- Linux 系统时间查看 及 时区修改(自动同步时间)
1:使用date命令查看时区 [root@db-server ~]# date -R Sun, 11 Jan 2015 07:10:28 -0800 [root@db-server ~]# ...
- spring-boot资料
spring-boot-admin的相关资料 This application provides a simple UI to administrate Spring Boot application ...
- PHP 安全相关 简单知识
概要: 1.php一些安全配置 (1)关闭php提示错误功能 (2)关闭一些“坏功能” (3)严格配置文件权限. 2.严格的数据验证,你的用户不全是“好”人 2.1为了确保程序的安全性,健壮性,数据验 ...
- python 集合
面向对象的集合: #coding:utf-8 __author__ = 'similarface' class Set: ''' list实现集合,及其集合操作 ''' def __init__(se ...
- [转]Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- linux redis 安装
linux下redis安装 我用的系统是:redhat [root@infa ~]# wget http://download.redis.io/releases/redis-2.8.12.tar ...
- 2.2 利用项目模板创建ASP.NET MVC项目
1.启动VS2012,点击“文件|新建|项目”. 2.在新建项目的窗口中,选择ASP.NET MVC 4应用程序. 3.在新ASP.NET MVC 4项目窗口中的“选择模板”列表中选择“基本”模板,在 ...
