JSP学习(三)——在jsp中如何使用javabean

文章目录

  • JavaBean
    • 作用
    • 定义
    • 分类
    • 用法
      • 创建javabean
      • 获取和修改beans的属性

JavaBean

将功能封装到java类的方法中,在jsp中定义此类,并调用其方法,这样的一个类叫做JavaBean。

作用

  • 减轻jsp的复杂度
  • 提高代码复用(同一段代码,在不同的地方用,而不是在不同的地方有相同的代码实现同一功能)

定义

JavaBean是一个java类。

  • 类被public修饰,有一个被public修饰的无参构造器。
  • 所有属性都被private修饰,但是有相应的set/get方法(boolean可以用is方法)

分类

  • 封装业务逻辑的JavaBean(逻辑类:login.java)
  • 封装数据的JavaBean(实体类:student.java)

用法

创建javabean

jsp文件中可以写java代码,所以可以向在java文件中那样创建java对象,这里说的是用jsp的方式创建java对象。如下

<jsp:useBean id = "对象名" class = "包名.类名" scope = "对象的有效范围"> 
</jsp:useBean>

这样,我们就创建了一个javabean对象,其中scope的参数有session(会话期间有效)、request(请求时有效,不同的请求beans是不同的)、application(服务器开启一直有效,所有用户共享这个beans)。
为了能使用javabean,需要将java文件编译后,放到WEB-INF/classes(如果没有自行创建)文件夹下与它所属package同名的文件夹下

获取和修改beans的属性

创建完javabean对象,可以在java代码中使用,当然,也可以通过jsp的标签给属性赋值或者获取属性值。

getProperty标签:
获得属性值

<jsp:getProperty name = "Beans的名字" property = "Beans的属性"/>
/*或*/
<jsp:getProperty name = "Beans的名字" property = "Beans的属性">
</jsp:getProperty>

这样相当于调用了Beans的getXXX()方法并输出(property的参数一定是属性的名字,不要画蛇添足在后面加上括号)

setProperty标签:
设置属性值

//设置为一个表达式的值
<jsp:setProperty name = "Beans的名字" property = "Beans的属性" value = "<%=expression%> />
//设置为一个字符串
<jsp:setProperty name = "Beans的名字" property = "Beans的属性" value = 字符串 />

如果是第一种方式,表达式的类型必须和属性的类型相同。
如果是第二种方式,字符串会被自动转化成与beans属性相同的类型(如果可以)。

通过html表单设置beans的属性:

<jsp:setProperty name = "Beans的名字" property = "*"/>
// * 是通配符,选择全部的意思

注意点:

  • 要求表单参数名字必须与Beans属性的名字相同
  • JSP引擎会自动将字符串转换为Beans属性的类型
  • 该标签不用在具体指定Beans属性的值将对应表单中哪个参数指定的值,系统会自动根据名字进行匹配对应。

你可能感兴趣的:(服务器,java,jsp)