五(1)、JSP的——Javabean
来源:互联网 发布:美白牙齿知乎 编辑:程序博客网 时间:2024/06/05 23:56
- Javabean
- 一普通方式创建JavaBean
- 二第二种创建JavaBeanuseBean动作元素创建传统获取
- 三通过getProperty获取JavaBean对象属性值
- Javabean
Javabean
1.Javabean的简介:
Javabean就是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码维护性。
2.Javabean设计原则:
公有类、属性私有、无参的公有构造方法、getter和setter方法。
3.JSP动作元素
动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
如下
(1)第一类:与Javabean有关的(重点介绍)
<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>
(2)第二类:基本元素,包括6个
<jsp:include>、<jsp:foward><jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>
(3)第三类:JSP Document有关
<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、<jsp:output>
(4)第四类:主要是用来动态生成XML元素标签值
<jsp:attribute>、<jsp:body>、<jsp:element>
(5)第五类:Tag File
<jsp:invoke>、<jsp:dobody>
一、普通方式创建JavaBean
1.创建项目DeMo在src中创建User类
package com.po;public class User { private String username; private String password; public User(){ } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
2.在WebRoot中编辑index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="com.po.*" %>//引入java类<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% User user=new User(); user.setPassword("1234"); user.setUsername("admin"); %> 用户名:<%=user.getPassword() %> 密码:<%=user.getUsername() %> </body></html>
二、第二种创建JavaBean(useBean动作元素创建“传统获取”)
1.<jsp:useBean>
作用:在jsp页面中实例化或者在指定范围内使用javabean。导入java类
<jsp:useBean id="标识符" class="java类名" scope="作用范围" />
(1)id是实例名可随便设
(2)scope的作用范围
- page:仅在当前页面有效(获取不到)
- request:可以通过HttpRequest.getAttribute( )方法取得JavaBean对象
scope=“request”时必须用服务器跳转来传递参数
request.getRequestDispatcher("testScope.jsp").forward(request, response)
- session:可以通过HttpSession.getAttribute( )方法取得JavaBean对象
- application:可以通过application.getAttribute( )方法取得JavaBean对象
(3)测试
创建testScope.jsp
<body> <h1>测试scope动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User" scope="application"> </jsp:useBean> <hr> <!-- 通过URL传参给属性赋值 --> 用户名: <jsp:getProperty property="username" name="myUsers" /> 密码: <jsp:getProperty property="password" name="myUsers"/></body>
创建dologin.jsp
<h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User" scope="application"></jsp:useBean> <hr> 用户名: <jsp:getProperty property="username" name="myUsers" /> 密码: <jsp:getProperty property="password" name="myUsers"/> <br> <a href="testScope.jsp">测试</a>
2.<jsp:setProperty>
作用:给已经实例化的javabean对象的属性赋值,一共四种形式。
(1):
<jsp:setProperty name="JavaBean实例名" property="*" />(跟表单关联)
注:property=”*”:表示自动匹配表单中password、username和java类中的password、username。
例子:<根据表单自动匹配所有属性>
1)创建login.jsp
<body> <form action="dologin.jsp"method="post" name="loginFrom"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="登入"> </form></body>
2)创建dologn.jsp
<body> <h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User"> </jsp:useBean> <hr> <!-- 根据表单匹配所有属性 --> <jsp:setProperty property="*" name="myUsers"/> 用户名:<%=myUsers.getUsername() %> 密码:<%=myUsers.getPassword() %></body>
注: “jsp:useBean” 中的id和 “jsp:setProperty”中的name一样。property表示自动匹配“login.jsp”表单中的属性“username”,“password”和“User”类中的“username”,“password”
(3)创建User类
package com.po;public class User { private String username; private String password; public User(){ } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
2:
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名(User类)" />(跟表单关联)
注:property=“JavaBean属性名”(User类)表示匹配部分属性
例子:<根据表单匹配部分属性 >
(1)User类同上
(2)login.jsp同上
(3)创建dologin.jsp
<body> <h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User"> </jsp:useBean> <hr> <!-- 根据表单匹配部分属性 --> <jsp:setProperty property="username" name="myUsers"/> 用户名:<%=myUsers.getUsername() %> 密码:<%=myUsers.getPassword() %></body>
3:
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名(User类)" value="BeanValue" />(手工设置)
property=“JavaBean属性名”表示User类中的任意属性名,value表示我们手动赋值
例子:< 跟表单无关 >
(1)User类同上
(2)login.jsp同上
(3)创建dologin.jsp
<body> <h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User"> </jsp:useBean> <hr> <!-- 跟表单无关,自己赋值 --> <jsp:setProperty property="username" name="myUsers" value="cxg"/> <jsp:setProperty property="password" name="myUsers" value="123"/> 用户名:<%=myUsers.getUsername() %> 密码:<%=myUsers.getPassword() %></body>
4:
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名(User类)" param="request对象中的参数" />(跟request参数关联)
param表示在表单中action传参的值
(1)login.jsp
<body><form action="dologin.jsp?mypass=999"method="post" name="loginFrom"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="登入"></form></body>
(2)创建dologin.jsp
<body> <h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User"> </jsp:useBean> <hr> <!-- 通过URL传参给属性赋值 --> <jsp:setProperty property="password" name="myUsers" param="mypass"/> 用户名:<%=myUsers.getUsername() %> 密码:<%=myUsers.getPassword() %></body>
三、通过getProperty获取JavaBean对象属性值
<jsp:getProperty>
作用:获取指定JavaBean对象属性值
<jsp:getProperty name="JavaBean实例名" property="JavaBean属性名(User类)" />
(1)创建login.jsp
<body> <form action="dologin.jsp"method="post" name="loginFrom"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="登入"> </form> </body>
(2)创建User类
package com.po;public class User { private String username; private String password; public User(){ } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
(3)创建dologin.jsp
<body> <h1>setProperty动作元素</h1> <jsp:useBean id="myUsers" class="com.po.User"></jsp:useBean> <hr> <jsp:setProperty property="username" name="myUsers"/> <jsp:setProperty property="password" name="myUsers" /> <!-- 通过 --> 用户名:<jsp:getProperty property="username" name="myUsers" /> 密码: <jsp:getProperty property="password" name="myUsers"/></body>
- 五(1)、JSP的——Javabean
- 五(2)、JSP——JavaBean例子
- DRP(五)——JSP与JavaBean
- JSP——JavaBean
- Jsp+JavaBean循序渐进教程(五)
- Jsp+JavaBean循序渐进教程(五)
- Jsp+JavaBean循序渐进教程(五)
- Jsp+JavaBean循序渐进教程(五)
- Jsp+JavaBean循序渐进教程(五)
- JSP Modul 1(jsp+javabean的用法)
- jsp—+JavaBean注册验证
- JSP基础(五)——JSP的指令元素
- JSP中的JavaBean和动作元素(五)
- JSP基础(十)——JavaBean和表单处理
- jsp技术:day3#1---JavaBean的使用
- 带JavaBean 的JSP
- 带JavaBean 的JSP
- jsp+javabean的分页
- 递归算法时间复杂度_递归树
- 求值:空间向量的法向量
- jQuery未来事件绑定-on与live
- log4j出现Caused by: java.net.UnknownHostException: www.w3.org
- hdu1754 I Hate It 线段树模板
- 五(1)、JSP的——Javabean
- 2018网易内推笔试-交错01串(python)
- 【leetcode】第32题 Longest Valid Parentheses 题目+解析+代码
- 图片Gaussian pyramid(二)
- 线段覆盖2 CODEVS
- [LintCode]82.落单的数
- C语言--内存操作与管理
- HDU 6152 Friend-Graph
- 每日英语阅读(三十五)