怎么在jsp页面中调用javabean啊?

2021-11-04 综合 144阅读

在JSP中使用JavaBean,可以实现HTML代码和Java代码的分离,是JSp更易于开发和维护:

  1. JavaBean是一个public类

  2. JavaBean有一个不带参数的构造方法

  3. JavaBean中的属性通过get和set方法进行操作

例如:定义个CircleArea的JavaBean用于封装圆面积的计算逻辑,以后凡是用到圆面积的计算方法均可使用该JavaBean来完成,实现了代码的重用。

#CircleArea.java
package JavaBeanTest;
public class CircleArea {
         //定义两个属性 (r:半径;unit:单位)
         private double r=0;
         private String unit="";
         //无参的构造方法
        public CircleArea() {
                 super();
         }
         public double getR() {
                 return r;
         }
         public void setR(double r) {
                 this.r = r;
         }
         public String getUnit() {
                 return unit;
         }
         public void setUnit(String unit) {
                 this.unit = unit;
         }
         //计算圆的面积并返回计算结果
        public String getArea(){
                 return 3.14*r*r+"平方"+unit;
         }
 }

在JSP中调用JavaBean代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
< !-- 在jSP中使用JavaBean一般遵循以下四步
 (1)导入JavaBean的类
 (2) 在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用
 (3) 对Javabean的实例对象进行操作
 (4)从指定范围内移除JavaBean
  -->
< %@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
< %@page import="JavaBeanTest.CircleArea" %>
< jsp:useBean id="circle1" class="JavaBeanTest.CircleArea" scope="page"/>
< jsp:useBean id="circle2" class="JavaBeanTest.CircleArea" scope="request"/>
< jsp:useBean id="circle3" class="JavaBeanTest.CircleArea" scope="session"/>
< jsp:useBean id="circle4" class="JavaBeanTest.CircleArea" scope="application" />

   
     JavaBean在JSP中的应用
   
   
    
< %
 //调用page范围内的JavaBean
      circle1.setR(4);
      circle1.setUnit("米");
      out.println(circle1.getArea());
      out.println("

");
  //调用request范围内的JavaBean
      circle1.setR(6);
      circle1.setUnit("米");
      out.println(circle1.getArea());
      out.println("

");
 //调用session范围内的JavaBean
      circle1.setR(8);
      circle1.setUnit("米");
      out.println(circle1.getArea());
      out.println("

");
  //调用application范围内的JavaBean
      circle1.setR(9);
      circle1.setUnit("米");
      out.println(circle1.getArea());
      out.println("

");
  %>
  

  <%
  //将circle1从page范围内移除
 pageContext.removeAttribute("circle1");
   //将circle2从request范围内移除
 request.removeAttribute("circle2");
   //将circle3从session范围内移除
 session.removeAttribute("circle1");
   //将circle4从application范围内移除
 application.removeAttribute("circle1");
   %>
   
< /html>
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com