JSP-javaBean_jp

JSP中使用JavaBean:创建和使用JavaBean对象
          的时候避免使用Java代码。
JSP可以使用Java代码,建议尽量不要使用Java代码。   
JavaBean---提供属性,构造器,
           set,get方法,实现序列化

User user=new User();
user.setName("zhangsan");
user.setAge(20);
out.println(user.getName());

Person.java,Address.java javaBean.jsp

1、jsp中获得或者创建JavaBean对象
(1) 语法    
<jsp:useBean id="对象引用" class="包名+类名"                         
scope="page|request|session|application"/>
  例如: <jsp:useBean id="user"
  class="com.briup.javabean.User"
  scope="request"/>
   id: User的对象引用
   class: 包+类名
   scope: scope默认为page
          User对象的存放范围
      作为该对象放置到scope中的属性名
      scope.setAttribute("user",user);

2) 执行流程
 a) User user =
 (User)request.getAttribute("user");
 b) if(user == null){
       user = new User();
       request.setAttribute("user",user);
    }
 c)若user!=null,可以使用该对象,
     在页面上输出其属性值。
    
 优点: 简化jsp代码,
 且JavaBean对象永远不会为null。

2、设置JavaBean对象中的属性值
(1) 方式一
语法: <jsp:setProperty name="对象引用"
property="propertyName" value="">
例如: <jsp:setProperty name="user"
property="name" value="jack"/>
执行流程: user.setName("jack");

(2) 方式二
语法: <jsp:setProperty name="对象引用"
    property="propertyName"/>    
例如: <jsp:setProperty name="user"
    property="name"/>
    name: 它的值和标签useBean中id的值对应,
          表示User对象的引用。
        property: 它的值和setName()有关。
执行流程:
a) String value =
request.getParameter("name");
b) 若value != null, user.setName(value);
c) 若value == null,不调用setName()。
用途: 将表单中提交的字段信息封装到
JavaBean对象的属性中。

(3) 方式三
语法: <jsp:setProperty name="对象引用"
    property="propertyName"
    param="">                        param="paramName"/>
例如: <jsp:setProperty name="user"
    property="name"
    param="username"/>
执行流程:
a) String value =
  request.getParameter("username");
b) 若value != null, user.setName(value);
c) 若value == null, 不调用user.setName();

(4) 方式四
语法: <jsp:setProperty name="对象引用"
property="propertyName"
value="<%=\"zhangsan\" %>">
   或者value='<%="中国" %>'
例如: <jsp:setProperty name="user"
property="age" value="<%=30%>"/>
执行流程: user.setAge(30);

(5) 方式五
语法: <jsp:setProperty name="对象引用"
    property="*"/>
例如: <jsp:setProperty name="user"
           property="*"/>
"*"匹配了id name password age gender address
(根据User中所有set方法的property进行匹配)
(6) 方式六
语法: <jsp:setProperty name="对象引用"
    property="name" value="${}"/>
例如: <jsp:setProperty name="user"
        property="address"
    value="${address}"/>
  使用el表达式来获取address的值,从四大范围中
  查找address对象,如果找到调用user.setAddress(address);

3、输出JavaBean对象中的属性值
语法: <jsp:getProperty name="对象引用"
property="propertyName"/>
例如: <jsp:getProperty name="user"
          property="name"/>
执行流程:
1) Object o = user.getName();
2) 将o一律转换成字符串s;
3) out.print(s);

4、使用标签<jsp:useBean>的四种方式
1) <jsp:useBean id="对象引用"
    class="包名+类名"
    scope="">                                    scope="page|request|session|application"/>
特点: 通过new来创建一个对象

2) <jsp:useBean id="对象引用"
    type="JavaBean实现的接口或继承的父类"
    scope="page|request|session|application"/>
特点: 如果scope中所引用的对象不存在,
不会去自动构造一个对象
例如: List list = new ArrayList();
session.setAttribute("list",list);
<jsp:useBean id="list"
type="java.util.List" scope="session"/>或者
<jsp:useBean id="list"
class="java.util.ArrayList"
scope="session"/>

3) <jsp:useBean id="对象引用"
class="包名+类名"
type="JavaBean实现的接口或继承的父类"
scope="page|request|session|application"/>
特点: 通过new来创建一个对象

4) <jsp:useBean id="对象引用"
beanName="包名+类名" >
type="JavaBean实现的接口或继承的父类"
scope="page|request|session|application"/>
特点: 通过反射构造一个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值