Java web9

1.初识JavaBean

(1)什么是javaBean:它是java开发中常用的组件,其实就是一个java类,它的作用就是封装数据。
        书写JavaBean需要满足五个规范:
        1.这个java类,被public修饰
        2.这个java类要提供公共的无参数的构造方法


        3.要提供私有的属性
        4.要给私有的属性提供公共的set或者get方法
        5.要实现Serializable接口
        比如:
           public class Book implements Serializable{ 
                private String id;
                private String name;
                public Book(){};
                public void set----
                public String get---
            }

(2)访问JavaBean的属性:
        类的成员变量和属性的一个关系:
         在普通的java类里面,成员变量可以说成就是属性。
         在JavaBean里面,成员变量和属性就有了区别。
         在JavaBean 里面成员变量 比如:private String id; 那么id就是成员变量
         在JavaBean 里面属性就是get或者set后面的字段名称(字段名称的首字母小写),就是属性。
         比如:alt+shift+s+(c,o,r)
        
      上面的Student的属性就是id ,name。成员变量就是sid,name.

(3)BeanUtils 工具
       BeanUtils 工具是由apache软件基金会提供的一套封装数据到JavaBean的工具类,使用简单方便,
       BeanUtils是第三方的工具(插件),所以需要导入jar包。
       常用的api:
       1.向javaBean的属性设置值: 
        setProperty(javaBean对象,javaBean的属性,javaBean属性的值);
       2.获取javaBean属性的值:
           getProperty(javaBean对象,javaBean的属性);
       3.向javaBean的属性设置值:
           populate(javaBean对象,map对象);
           注意:map的对象的key(就是javaBean属性名称),必须和javaBean的属性名一致,才能给javaBean的属性设置值。
             提交的表单数据想封装到javaBean对象里面,要求表单name属性的值,必须和javaBean属性名称一一对应。

2.EL 表达式
    1.1 初识 EL 表达式
        EL在开发中,通常是用来获取域对象中保存的值,基本语法:${域对象的名称}。
        比如说: request.setAttribute("key","value123"):  ${key},获取的值就是value123
        如果域对象的名称写错了,使用el表达式获取值,获取的是"".


    1.2 EL表达式中的标识符
        在el书写过程中,会用一些符号来标记变量、函数名等,这些符号称之为标识符。
        书写规范:
        1.不能以数字开头
        2.不能包含el中的关键字:and , or 等
        3.不能使用el表达式的隐式对象。
        4.不能包含特殊符号,比如正斜杠等
    1.3 EL中的变量
        基本格式:${域对象的名称},这个域对象的名称可以理解为就是el中的变量,
              那这个变量就不需要定义了,可以直接使用。

    1.4 EL 中的常量
       1.布尔常量:true或false
       2.数字常量:整型、浮点常量,使用方式和java差不多
       3.字符串常量:使用方式和java差不多,比如:${"el的字符串常量"}
       4.Null常量:${null}
    
    1.5 EL中的运算符
       1.点运算符:获取域对象中属性的值。
           比如: ${person.name }
       2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
        比如:<% 
             Map<String,String> map= new HashMap<String,String>();
            map.put("my-name","map的值");
            request.setAttribute("user",map);
          %>
        ${user["my-name"] }
       3.算术运算符:+ — * /
       4.比较运算符: > < >= <= == !=
       5.逻辑运算符: &&(and) ||(or) !(not)
       6.empty 运算符:用来判断域对象中的值是否存在,不存在返回为true,否则返回的结果是false.
       7.三目运算符:参照java的用法。

    1.6 EL 隐式对象
       1.pageContext对象:为了获取jsp中的隐式对象。
         比如:
         获取项目的路径:${pageContext.request.contextPath }<br/>
         获取请求的URL:${pageContext.request.requestURI }

       2.web域相关的对象
         域作用范围从小到大:pageContext--->request--->session--->application(servletContext)
         el表达式获取域对象中的值:如果域对象的名称相同,获取的是域作用范围最小的值。
                                   和pageContext对象的findAttribute方法的效果是一样的。

${requestScope.指定对象}<br/>

       3.param 和 paramValues 对象: 获取表单提交的数据。
        比如:
            num1:<input type="text" name="num1" /><br/>
        num2:<input type="text" name="num" /><br/>
        num3:<input type="text" name="num" /><br/>
        <input type="submit" value="提交" /> &nbsp;&nbsp;<input type="reset" value="重填" />
        <hr/>
        num1:${param.num1 }<br/>
        num2:${paramValues.num[0] }<br/>
        num3:${paramValues.num[1] }


       4. Cookie 对象:获取cookie的名称,获取cookie的值
        比如:
            <% response.addCookie(new Cookie("userName","itcast")); %>
            获取cookie对象:${cookie.userName }<br/>
            获取cookie的名称:${cookie.userName.name }<br/>
            获取cookie的值:${cookie.userName.value }<br/>


3.JSTL
    1.1 什么是JSTL    
        JSTL: JavaServer Pages Standard Tag Libary,java服务器端页面的标准标签库,其实就是在jsp页面上使用的标签库。
        JSTL标签库有五个组成,通常使用核心标签库。
        在jsp页面上面引入标签库:<%@ taglib uri="标签库的url地址" prefix="标签的前缀" %>
    1.2 JSTL的下载和使用
        步骤:
        1.在jsp页面使用taglib指令引入标签库
        2.导入jstl相关的jar包
        3.测试一下。


    1.3 JSTL中的Core标签
        1.<c:out>标签:向网页输出内容
            基本语法:
                第一种:<c:out value="el表达式获取值" default="值" escapeXml="true或者false"></c:out>
                第二种:<c:out value="el表达式获取值" escapeXml="true或者false"> 默认值 </c:out>


                default:如果value属性获取到了值,就输出这个值,如果没有获取到,就输出default属性对应的值。

     如果不想输出默认值 ,在客户端传递一个参数username=dashuju

 

                escapeXml(默认值true):如果值为true,就会把html标记当成普通的字符串输出,如果值为false,就会正常解析html标记,正常输出。

 


        2.<c:if>标签:进行条件判断,和java类中的if很相似   <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*">
            基本语法: 
                第一种:<c:if test="条件表达式" var="变量名称" scope="域的范围"></c:if>
                第二种:<c:if test="条件表达式" var="变量名称" scope="域的范围"> 标签体内容 </c:if>
                在开发中,经常使用第二种。
                test属性:如果返回值为true,就输出标签体内容,否则就不输出。
        3.<c:choose>标签:进行条件判断,和java类中的if,else if(),else if()---else很相似
            基本语法:
                <c:choose>---->if
                    <c:when test="条件表达式">标签体内容</c:when>---->else if()
                    <c:when test="条件表达式">标签体内容</c:when>
                    ------------
                    <c:otherwise>标签体内容</c:otherwise>----->else
                </c:choose>


     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值