JAVA Bean用法详解

JAVA Bean

JSP编程中,在不用javabean时,当我们需要引入其他包里的类时,则需要引入所在的包的那个类

譬如:

<%@ page import="packag1.Student" %>

jsp:useBean 创建 javabean

<jsp:useBean id="实例化对象名称" scope="保存范围" class="类完整名称"/>

//类完整名称既需要写出这个类所在的包。

//Scope,一共有 page,request,session 和 application4 个属性范围,默认是 page;(默认是当前页)

基本用法:

<body>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<%
	student.setName("王二小2");
	student.setAge(12);
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>

当不用javabean,提取界面中的信息时:

需要用request

<body>
<form action="javabean03-3.jsp" method="post">
<table>
<tr>
   <td>姓名:</td>
   <td><input type="text" name="name"/></td>
   </tr>
  <tr>
   <td>年龄:</td>
   <td><input type="text" name="age"/></td>
   </tr>
   <tr>
   <td colspan="2"><input type="submit" value="提交"/></td>
   </tr>  
  </table>
</form>
</body>


<body>
<%
	request.setCharacterEncoding("utf-8");//防止乱码
	String name=request.getParameter("name");//原始的方法,用request来提取信息
	String age=request.getParameter("age");
	Student student=new Student();
	student.setName(name);
	student.setAge(Integer.parseInt(age));
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>

Javabean 的:setProperty

jsp:setProperty 设置 javabean 属性值

表达式或字符串都可以设置bean的属性

value=“字符串”

value=“<%=ex%>”

第一种情况:

通过HTTP表单参数值设置Bean的属性

<jsp:setProperty name="bean的名字" property=“*”/>

通过HTTP表单参数值设置bean的属性时,表单参数的名字必须与bean属性的名字相同,服务器会根据名字自动匹配,类型自动转换

自动设置所有属性

<body>
<%
	request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<jsp:setProperty property="*" name="student"/>//自动设置所有属性
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>

第二种情况:

任意指定请求参数设置bean的属性
<body>
<%
	request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<jsp:setProperty property="name" name="student"/>//给具体的某一个属性导入赋值
<jsp:setProperty property="age" name="student" value="100"/>//也可以给设置一个默认的值
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>

第三种情况:

当引入的input的值和student类的属性名字不匹配时,可param在后面设置对应的属性名字

<body>
<%
	request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<jsp:setProperty property="name" name="student" param="userName"/>
<jsp:setProperty property="age" name="student" value="100"/>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>

jsp:getProperty

获取 javabean 属性值

<jsp:getProperty property="属性名称" name="实例化对象的名称"

<body>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<%
	student.setName("王二小2");
	student.setAge(12);
%>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>

javabean 的保存范围

Javabean 的保存范围有 page,request,session.application,默认是 page;

Request
</head>
<body>
<jsp:useBean id="student" scope="request" class="com.java1234.model.Student"/>
<jsp:setProperty property="name" name="student" value="王八蛋"/>
<jsp:setProperty property="age" name="student" value="12"/>
<jsp:forward page="target01.jsp"/>
</body>
********************************************************************************
<body>
<jsp:useBean id="student" scope="request" class="com.java1234.model.Student"/>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>
session.
<body>
<jsp:useBean id="student" scope="session" class="com.java1234.model.Student"/>
<jsp:setProperty property="name" name="student" value="王八蛋"/>
<jsp:setProperty property="age" name="student" value="12"/>
<h1>Session数据设置完毕!</h1>
</body>

<body>
<h1>Session中取值</h1>
<jsp:useBean id="student" scope="session" class="com.java1234.model.Student"/>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>

application
<body>
<jsp:useBean id="student" scope="application" class="com.java1234.model.Student"/>
<jsp:setProperty property="name" name="student" value="李四"/>
<jsp:setProperty property="age" name="student" value="13"/>
<h1>Application数据设置完毕!</h1>
</body>

<body>
<h1>Application中取值</h1>
<jsp:useBean id="student" scope="application" class="com.java1234.model.Student"/>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>

javabean 删除

Page 范围:pageContext.removeAttribute(“javaBean Name”);

request 范围:request.removeAttribute(“javaBean Name”);

session 范围:session.removeAttribute(“javaBean Name”);

application 范围:application.removeAttribute(“javaBean Name”


猜你喜欢

转载自blog.csdn.net/hyo555/article/details/79654755