一、jsp javaBean组件引入

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

scope一共有page,request,session和application 4个属性范围,默认是page;

student类:

 package com.java1234.model;

 public class Student {

     private String name;
private int age; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

现在有一个提交表单:

 <body>
<form action="javabean03.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>

以前我们使用javabean03.jsp这样来接收参数:

 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="com.java1234.model.Student" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
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>
</html>

而现在我们使用javaBean:

 <body>
<%
request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<!--
1.如果student.jsp中的提交参数名和student属性一致,可以这样接:
<jsp:setProperty property="*" name="student"/>
2.如果提交参数名不一致,使用param="userName"来指定参数名
3.value="100",不使用提交参数的age,自己来设置100这个值
-->
<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="实例化对象的名称" />

如:先设置student的值,内部跳转到target01.jsp,然后再target01.jsp中获取值;

内部跳转同一个request,javabean的scope设置为request:

 <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> target01.jsp:
<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>

三、javabean的保存范围:

举个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> 然后再jsp页面取值,javabean的scope是session:
<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的应用方法一样;

四、javaBean删除:

page范围: pageContext.removeAttribute("javaBean Name");

request范围: request.removeAttribute("javaBean Name");

session范围:session.removeAttribute("javaBean Name");

application范围:application.removeAttribute("javaBean Name");

小峰servlet/jsp(2)的更多相关文章

  1. 小峰servlet/jsp(5)jsp自定义标签

    一.自定义标签helloworld: 二.自定义有属性的标签: HelloWorldTag.java:继承TagSupport: package com.java1234.tag; import ja ...

  2. 小峰servlet/jsp(1)

    一.scriptlet标签: 通过scriptlet标签我们可以可以在jsp理嵌入java代码: 第一种:<%! %>  可以在里面定义全局变量.方法.类: 第二种:<% %> ...

  3. 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等

    一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate   对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...

  4. 小峰servlet/jsp(6)jstl核心标签库

    一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out         内容输出标签; c:set      用来设置4种属性范围值的标签: c:re ...

  5. 小峰servlet/jsp(3)登陆功能实现

    一.User模型: User.java: package com.java1234.model; public class User { private int id; private String ...

  6. 小峰servlet/jsp(4)EL表达式

    一.EL表达式内置对象: 二.EL表达式访问4种范围属性: 寻找值的顺序: page-->request-->session-->application; 三.EL表达式接收请求参数 ...

  7. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. Servlet&jsp基础:第五部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. Servlet & JSP系列文章总结

    前言 谢谢大家的捧场,真心感谢我的阅读者. @all 下一期,重点在  数据结构和算法  ,希望给大家带来开心.已经出了几篇,大家爱读就是我的开心. Servlet & JSP系列总结 博客, ...

随机推荐

  1. MS14-021: Internet Explorer 安全更新: 2014 年 5 月 1 日

    微软推送全平台IE零日漏洞补丁 2014.05.2 3 Comments 207 views今天,微软正式发布IE安全补丁,修复4月底曝光的零日漏洞.用户可通过Windows Update自动更新服务 ...

  2. Jmeter BeanShell 从数据库中获取数据并创建一个requesBody

    一.前言 在测试接口的时候常常会使用到数据库中的数据,当要使用大量的数据时,仅仅使用数据库查询是不够的.还需要使用自动化让操作更简便. 下面以一个简单的例子阐述一下如何使用beanShell让代码更简 ...

  3. Code Sign error: Provisioning profile XXXX can't be found

    [iphone]Code Sign error: Provisioning profile XXXX can't be found 如果你更新了profile,再编译iphone项目,发现下面的错误, ...

  4. linux平台程序高精度延时问题select-usleep等

    前言 微秒级别的延时... 1.能用 #include <unistd.h> int usleep(useconds_t usec);              微秒级:1/10^-6 2 ...

  5. iFiles——苹果上最好用的文件管理器 - imsoft.cnblogs

  6. CodeForces - 367E:Sereja and Intervals(组合数&&DP)

    Sereja is interested in intervals of numbers, so he has prepared a problem about intervals for you. ...

  7. CF1142E/1143B Lynyrd Skynyrd

    CF1142E/1143B Lynyrd Skynyrd 开始读错题了,以为是连续的一段,敲完后才发现是 \(subsequence\) ... 考虑对于 \(a\) 中的每个 \(a_i\) 找到它 ...

  8. python学习之-软件开发的目录规范

    通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...

  9. Boosting学习笔记(Adboost、GBDT、Xgboost)

    转载请注明出处:http://www.cnblogs.com/willnote/p/6801496.html 前言 本文为学习boosting时整理的笔记,全文主要包括以下几个部分: 对集成学习进行了 ...

  10. C易忽视的基础

    1.输出格式控制:%x按int型16进制输出: %d按int型十进制输出:变量超出4字节会丢掉低位!!!!(却不是被截断!!!) void main() { int a=0x11223344; lon ...