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运 ...
随机推荐
- Android手机分辨率基础知识(DPI,DIP计算)三
获得屏幕分辨率和密度,尺寸的代码片段 DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaul ...
- 本地存储 localStorage/sessionStorage/cookie
cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...
- Windows 内存架构
理解 Virtual Memory, Physical Memory, Committed Memory, Page File, Working Set, Modified Pages, Standb ...
- opencl 学习资源
1.AMD opencl-optimization-guide http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated ...
- import package的问题
在新建class的时候除了名字还可以选择包名: 新建2个包名,然后在不同的包里写2个同名的类, 程序中导入另外一个包 package com.hs;import com.hy.Father; 当直接使 ...
- appium支持中文输入
Appium 1.3.3以上.java:capabilities增加下面两项:capabilities.setCapability("unicodeKeyboard", " ...
- 集成代码编辑器ACE的经验
ACE是最流行的在线代码编辑器之一,在CanTK的集成开发环境GameBuilder里也使用了ACE.ACE的功能非常强大,但是由于使用方法不当,大家反映GameBuilder的代码编辑器不好用.最近 ...
- Hibernate的Restrictions用法
Restrictions.eq --> equal,等于. Restrictions.allEq --> 参数为Map对象,使用key/value进行多个等于的比对,相当于多个Restri ...
- 浅谈Java中的深拷贝和浅拷贝
转载: 浅谈Java中的深拷贝和浅拷贝 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(bool ...
- 5.5 Selenium2中的元素定位
WebDriver的更加面向对象的方式大大降低了Selenium的入门门槛,对Web元素的操作也非常之简单易学.实际项目用起来,工作量最大的部分就是你如何解析定位到你的目标项目页面中的各种元素.好比你 ...