java_第一年_JavaWeb(9)

JavaBean是一个遵循某种特定写法的Java类,有以下特点:

  • 必需具有一个无参的构造函数
  • 属性必需私有化
  • 私有化的属性必需通过public类型的方法暴露给其它程序,其方法命名也有一定的规范

范例:

package lzj.learn;
public
class Person{ private String name; private String age;//私有化的属性 public Person(){ }//无参的构造函数; public String getName(){ return name; } public void setName(String name){ this.name = name; } pubilc int getAge(){ return age; } public void setAge(int age){ this.age = age; }//通过public方法对私有化属性进行添加并查询;其方法名固定为set、get后接属性名且属性名第一个字母要大写; }

在JSP中使用JavaBean

JSP提供了3个关于JavaBean组件的动作标签

  • <jsp:useBean>标签:表明在JSP页面中查找或实例化一个JavaBean组件;

语法:

<jsp:useBean id = "xxx" class = "package.class" scope = "page|request|session|application" />

其中id属性表示所实例化JavaBean的对象名,class属性表示其完整的类名,必需带有包名,scope属性表示其实例化对象的储存的域范围,默认是page;

  • <jsp:setProperty>标签:设置一个JabaBean组件的属性

语法:

<jsp:setProperty name = "beanName" property = "propertyName" value = "string字符串|<%=expression%>|parameterName" />

其中name属性的实例化的JavaBean对象名,也就是前面<jsp:useBean>标签中的id属性所设定的对象名;property属性是所要设置的属性名,value属性可包含字符串、表达式或变量参数值;变量参数值即表示其值可由自己通过parameterName=“xxx”设定;

  • <jsp:getProperty>标签:获取一个JavaBean组件的属性

语法:

<jsp:getProperty name = "beanName" property = "PropertyName" />

其中name、property属性意义和上述的setProperty标签的属性类似;

结合3大jsp相关的javabean标签和上述给的Person类做一个简单的JSP页面:

<% page language = "java" import = "java.util.*" pageEncoding = "UTF-8" %>
<jsp:useBean id = "person" class="lzj.learn.Person" scope = "page" />
<%
    person.setName("小兆")
%>
<jsp:setPorperty name = "person" property = "age" param = "parameterName" />
<! DOCTYPE HTML>
<html>
    <head>
            <title>jsp:javabean使用范例</title>
    <head>
    <body>
        <h2>姓名:<%=peason.getName()%></h2>
        <h2>年龄:<jsp:getPorperty name = "person" property = "age" /></h2>
    </body>
</html>

由于我们在使用<jsp:setPorperty>标签时所设置的参数值是变量参数param,因此在调用该jsp时要指定其值,类似http://xxx.xxx/xxx/xxx.jsp?parameterName=23这样,将属性age的值设定为23后再将其显示;

猜你喜欢

转载自www.cnblogs.com/lzj-learn/p/11637041.html