• JSP EL表达式的运用


      EL表达式的基本使用

      1访问bean属性

      第一种方式${user.name}

      容器一次从pageContext,request,session,application中查找(实际上是调用request.getAttribute("user"))绑定为"user"的对象,如果找到了则不再向下继续查找,找到了以后调用该对象的getName方法,最后将结果输出。如果都找不到则不输出。

      当然我们也可以制定查找的范围:

      表达式语言包含了如下11个内置对象:

      》pageContext:代表该页面的pageContext对象,与JSP的pageContext内置对象相同。

      》pageScope:用于获取page范围的属性值

      》requestScope:用于获取request范围的属性值

           》sessionScope:用于获取session范围的属性值

      》applicationScope:用于获取application范围的属性值

      》param:  用于获取请求的参数值

      》paramValues:用于获取请求的参数值,与param的区别在于,该对象用于获取属性值为数组的属性值。

      》head:  用于获取请求头的属性值

      》headerValues:用于获取请求头的参数值,与header区别在于,该对象用于获取属性值为数组的属性值。

      》initParam:  用于获取请求Web运用的初始化参数

      》cookie:  用于获取指定的cookie值

    下面的JSP页面示范了如何使用表达式语言的内置对象方法。

     1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
     2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     3     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4 <html xmlns="http://www.w3.org/1999/xhtml">
     5 <head>
     6     <title> 表达式语言 - 内置对象 </title>
     7 </head>
     8 <body>
     9     <h2>表达式语言 - 内置对象</h2>
    10     请输入你的名字:
    11     <!-- 通过表单提交请求参数 -->
    12     <form action="implicit-objects.jsp" method="post">
    13         <!-- 通过${param['name']} 获取请求参数 -->
    14         你的名字 = <input type="text" name="name" value="${param['name']}"/>
    15         <input type="submit" value='提交'/>
    16     </form><br/>
    17     <% session.setAttribute("user" , "Tim");
    18     //下面三行代码添加Cookie
    19     Cookie c = new Cookie("name" , "Tom");
    20     c.setMaxAge(24 * 3600);
    21     response.addCookie(c);
    22     %>
    23     <table border="1" width="660" bgcolor="#aaaadd">
    24         <tr>
    25             <td width="170"><b>功能</b></td>
    26             <td width="200"><b>表达式语言</b></td>
    27             <td width="300"><b>计算结果</b></td>
    28         <tr>
    29             <!-- 使用两种方式获取请求参数值 -->
    30             <td>取得请求参数值</td>
    31             <td>${param.name}</td>
    32             <td>${param.name}&nbsp;</td>
    33         </tr>
    34         <tr>
    35             <td>取得请求参数值</td>
    36             <td>${param["name"]}</td>
    37             <td>${param["name"]}&nbsp;</td>
    38         </tr>
    39         <tr>
    40             <!-- 使用两种方式获取指定请求头信息 -->
    41             <td>取得请求头的值</td>
    42             <td>${header.host}</td>
    43             <td>${header.host}</td>
    44         </tr>
    45         <tr>
    46             <td>取得请求头的值</td>
    47             <td>${header["accept"]}</td>
    48             <td>${header["accept"]}</td>
    49         </tr>
    50         <!-- 获取Web应用的初始化参数值 -->
    51         <tr>
    52             <td>取得初始化参数值</td>
    53             <td>${initParam["author"]}</td>
    54             <td>${initParam["author"]}</td>
    55         </tr>
    56         <!-- 获取session返回的属性值 -->
    57         <tr>
    58             <td>取得session的属性值</td>
    59             <td>${sessionScope["user"]}</td>
    60             <td>${sessionScope["user"]}</td>
    61         </tr>
    62         <!-- 获取指定Cookie的值 -->
    63         <tr>
    64             <td>取得指定Cookie的值</td>
    65             <td>${cookie["name"].value}</td>
    66             <td>${cookie["name"].value}</td>
    67         </tr>
    68     </table>
    69 </body>
    70 </html>

      2进行一些简单的计算,计算结果可以直接输出,也可以给JSP标签赋值。

      a算术运算:支持"+" "-", "*", "/"和"%"但是,“+”不能进行字符串的连接处理

      b关系运算符: ">"  "<"  "="  "!=" ">="  "<="

      c逻辑运算符:支持"&&" "||", "!"

      

  • 相关阅读:
    使用VisualStudio2015开发QT项目
    界面控件
    SmartGit 试用过期
    视图和模型变换
    模型变换和视图变换
    一元二次方程
    论cudnn与cuda之间的关系,和实际例子测试。
    在Ubuntu 18.04上安装Tensorflow
    ubuntu14.04安装CUDA8.0
    Windows10系统远程桌面连接出现卡顿如何解决
  • 原文地址:https://www.cnblogs.com/ArtsCrafts/p/EL.html
Copyright © 2020-2023  润新知