• 小峰servlet/jsp(2)


    一、jsp javaBean组件引入

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

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

    student类:

     1 package com.java1234.model;
     2 
     3 public class Student {
     4 
     5     private String name;
     6     private int age;
     7     
     8     public String getName() {
     9         return name;
    10     }
    11     public void setName(String name) {
    12         this.name = name;
    13     }
    14     public int getAge() {
    15         return age;
    16     }
    17     public void setAge(int age) {
    18         this.age = age;
    19     }
    20 }
    View Code

    现在有一个提交表单:

     1 <body>
     2 <form action="javabean03.jsp" method="post">
     3 <table>
     4     <tr>
     5         <td>姓名:</td>
     6         <td><input type="text" name="name"/></td>
     7     </tr>
     8     <tr>
     9         <td>年龄:</td>
    10         <td><input type="text" name="age"/></td>
    11     </tr>
    12     <tr>
    13         <td colspan="2"><input type="submit" value="提交"/></td>
    14     </tr>
    15 </table>
    16 </form>
    17 </body>
    View Code

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

     1 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
     2 <%@ page import="com.java1234.model.Student" %>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10 <%
    11     request.setCharacterEncoding("utf-8");
    12     String name=request.getParameter("name");
    13     String age=request.getParameter("age");
    14     Student student=new Student();
    15     student.setName(name);
    16     student.setAge(Integer.parseInt(age));
    17 %>
    18 <h1>姓名:<%=student.getName() %></h1>
    19 <h1>年龄:<%=student.getAge() %></h1>
    20 </body>
    21 </html>
    View Code

    而现在我们使用javaBean:

     1 <body>
     2 <%
     3     request.setCharacterEncoding("utf-8");
     4 %>
     5 <jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
     6 <!-- 
     7     1.如果student.jsp中的提交参数名和student属性一致,可以这样接:
     8         <jsp:setProperty property="*" name="student"/>
     9     2.如果提交参数名不一致,使用param="userName"来指定参数名
    10     3.value="100",不使用提交参数的age,自己来设置100这个值
    11 -->
    12 <jsp:setProperty property="name" name="student" param="userName"/>
    13 <jsp:setProperty property="age" name="student" value="100"/>
    14 <h1>姓名:<%=student.getName() %></h1>
    15 <h1>年龄:<%=student.getAge() %></h1>
    16 </body>
    View Code

    二、jsp:getProperty获取javabean属性值:

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

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

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

     1 <body>
     2 <jsp:useBean id="student" scope="request" class="com.java1234.model.Student"/>
     3 <jsp:setProperty property="name" name="student" value="王八蛋"/>
     4 <jsp:setProperty property="age" name="student" value="12"/>
     5 <jsp:forward page="target01.jsp"/>
     6 </body>
     7 
     8 target01.jsp:
     9 <body>
    10 <jsp:useBean id="student" scope="request" class="com.java1234.model.Student"/>
    11 <h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
    12 <h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
    13 </body>
    View Code

    三、javabean的保存范围:

    举个session保存的范围的例子:

     1 <body>
     2 <jsp:useBean id="student" scope="session" class="com.java1234.model.Student"/>
     3 <jsp:setProperty property="name" name="student" value="王八蛋"/>
     4 <jsp:setProperty property="age" name="student" value="12"/>
     5 <h1>Session数据设置完毕!</h1>
     6 </body>
     7 
     8 然后再jsp页面取值,javabean的scope是session:
     9 <h1>Session中取值</h1>
    10 <jsp:useBean id="student" scope="session" class="com.java1234.model.Student"/>
    11 <h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
    12 <h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
    13 </body>
    View Code

    application的应用方法一样;

    四、javaBean删除:

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

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

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

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

  • 相关阅读:
    .net core 3.1 过滤器(Filter) 和中间件和AOP面向切面拦截器
    socket通信框架——boost asio
    远程过程调用框架——gRPC
    数据序列化工具——flatbuffer
    springboot项目启动----8080端口被占用排雷经过
    如何配置HOSTS文件
    使用线程Callable实现分段获取一个url连接的资源数据
    Socket网络编程课件
    (6)优化TCP编写 服务器端同时支持多个客户端同时访问
    SpringBoot配置属性之Security
  • 原文地址:https://www.cnblogs.com/tenWood/p/6493271.html
Copyright © 2020-2023  润新知