jsp:useBean 通过 jsp:useBean,可以在 JSP 中使用定义好的 Bean
Bean 的基本要素:
必须要有一个不带参数的构造器。在 JSP 元素创建 Bean 时会调用空构造器
Bean 类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,变量名称首字母必需小写
通过 getter/setter 方法来读/写变量的值,并且将对应的变量首字母改成大写
基本用法 : test.jsp/CounterBean.java 不要使用裸体类(规范要求)
jsp:useBean(con.)
jsp:useBean各项参数含义:
id : 对象实例名称
scope : Bean作用的范围,默认为page,对整个jsp页面有效
class : Bean类名称(全名)
type : Bean实例类型,可以是本类,或其父类,或实现的接口,默认为本类
Scope 各项参数的意义:
page : 仅涵盖使用JavaBean的页面
(PageBean.jsp/CounterBean.java)
request : 有效范围仅限于使用 JavaBean 的请求
(RequestBean.jsp/RequestBean2.jsp/CounterBean.java)
session : 有效范围在用户整个连接过程中(整个会话阶段均有效)
(SessionBean.jsp/Session2.jsp/CounterBean.java)
application : 有效范围涵盖整个应用程序。也就是对整个网站均有效
(Application.jsp/Application2.jsp/CounterBean.java)
--------------------------------------------------------------------------------------------------------
//=================== CounterBean.java ================= package bean; import java.io.Serializable; @SuppressWarnings("serial") public class CounterBean implements Serializable { private int count = 0; // 成员变量 public CounterBean() { } public int getCount() { count++; return count; } public void setCount(int count) { this.count = count; } }test.jsp 源码如下 : JSP 使用 javabean 第一个例子。
<%@ page import="bean.*" %> <%-- 服务器端的注释 <% response.sendRedirect("../servlet/ShowRs"); %> <% CounterBean cb = new CounterBean(); %> <font color="red" size="5"> <%=cb.getCount()%> </font> --%> oooooo <jsp:useBean id="cb" class="bean.CounterBean"> </jsp:useBean> <jsp:setProperty name="cb" property="count" value="23"/> <%-- cb.setCount(Integer.parseInt("23")) --%> <jsp:getProperty name="cb" property="count"/> <%-- out.print(cb.getCount()) --%>