JSP 之JavaBean

JavaBean 简介

  • JavaBeans 就是符合某种特定规范的 Java 类。使用 JavaBeans 的好处是解决代码重复编写,减少代码的冗余,功能区分明确,提高了代码的维护性。

  • JavaBeans 的设计原则

    1. 公有类
    2. 私有属性
    3. 无参的公有构造方法
    4. getter 和 setter 方法(特别注意 setter 方法名一定要和属性变量名一致,比如有属性为username,必须为setUsername 若 setter 为 setName(),则会发生空指针问题)
  • 以下这个类就满足

                        代码 1
//公有类
public class JavaBeans {
    //私有成员属性
    private String nameString;
    private String ageString;
    public JavaBeans() {
        //无参公有构造方法
    }
    //getter 和 setter 方法
    public String getNameString() {
        return nameString;
    }
    public void setNameString(String nameString) {
        this.nameString = nameString;
    }
    public String getAgeString() {
        return ageString;
    }
    public void setAgeString(String ageString) {
        this.ageString = ageString;
    }
    
}

JSP 动作元素

  • 什么是 JSP 的动作:JSP 的动作元素(action elements),动作元素为请求处理阶段提供信息;动作元素遵循 Xml 元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签

  • 第一类是与存取 JavaBean 有关的,包括:

    1. < jsp:useBean> < jsp:setProperty> < jsp:getProperty>
  • 其他类请看官方API

JavaBean 的使用

  • 像使用普通 java 类一样,创建 javabean 类的实例

  • 在 Jsp 页面中通常使用 Jsp 动作标签使用 javabean

    1. useBean 动作
    2. setProperty 动作
    3. getProperty 动作
  • < jsp:useBeans>作用,在 Jsp 页面中实例化或者指定范围内使用 javabean:

    • < jsp:useBean id="提示符" class="java类名" scope ="作用范围"/>

< jsp:setProperty>

  • < jsp:setProperty>作用,给已实例化了的 javabean 对象的属性赋值,一共有四种形式
    1. < jsp:setProperty name="JavaBean实例名" property ="*"/>(跟表单关联)
    2. < jsp:setProperty name="JavaBean实例名" property ="JavaBean属性名"/>(跟表单关联)
    3. < jsp:setProperty name="JavaBean实例名" property ="JavaBean属性名" value="BeanValue"/>(手工设置)
    4. < jsp:setProperty name="JavaBean实例名" property ="propertyNam" param="request对象中的参数名"/>(跟request对象中的参数有关)
  • 结合以下代码分析
                   代码    2 login.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'login.jsp' starting page
    
    
    
        
    
    
    

  
  
  
    

系统登录


用户名:
密码:
            代码 3     dologin.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'dologin.jsp' starting page
    
    
    
        
    
    
    

  
  
  
    
    

setProperty动作元素


<%-- --%> <%-- --%> <%-- --%> <%-- 用户名:<%=myUsers.getUsername() %>
密码:<%=myUsers.getPassword() %>
--%> 用户名:
密码:


测试javabean的四个作用域范围 <% request.getRequestDispatcher("testScope.jsp").forward(request, response); %>

< jsp:getProperty>

  • 输出 < jsp:getProperty property="JavaBean实例属性" name="JavaBean实例对象">

你可能感兴趣的:(JSP 之JavaBean)