JSP学习笔记(三):JSP配置与EL表达式

一、JSP配置

JSP可以与Servlet一样配置映射,也可以省略。

(一)简单配置

1、使用<jsp-file>基础标签

  <servlet>
   <servlet-name>myJsp</servlet-name>
   <jsp-file>/jsp/base/myJsp.jsp</jsp-file>
  </servlet>
  <servlet-mapping>
   <servlet-name>myJsp</servlet-name>
   <url-pattern>/myJsp</url-pattern>
  </servlet-mapping>

1)访问方式:/jsp/base/myJsp.jsp 或者 直接 /myJsp 访问。

2、配置初始化参数与多个映射

  <servlet>
   <servlet-name>myJsp</servlet-name>
   <jsp-file>/jsp/base/myJsp.jsp</jsp-file>
   <init-param>
    <param-name>encoding</param-name>
    <param-value>utf-8</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>myJsp</servlet-name>
   <url-pattern>/myJsp</url-pattern>
   <url-pattern>/myJsp.html</url-pattern>
   <url-pattern>/myJsp.php</url-pattern>
  </servlet-mapping>

1)初始化参数通过 JSP 中的config 对象的 getInnitParameter() 获取。

(二)<jsp-config>批量配置

1、<jsp-config>标签支持批量配置。包括两个子标签:

1)<taglib>:定义标签属性。

2)<jsp-property-group>:批量定义JSP属性。

  <jsp-config>
   <taglib>
    <taglib-uri>taglib</taglib-uri>
    <taglib-location>/WEB-INF/tlds/taglib.tld</taglib-location><!--定义tld文件位置 -->
   </taglib>
   <jsp-property-group>
    <url-pattern>/jsp/base/*.jsp</url-pattern><!-- 使用范围:所有/jsp/base/ 下所有的jsp -->
    <el-ignored>true</el-ignored><!--是否忽略EL 表达式。默认为false -->
    <page-encoding>UTF-8</page-encoding><!--编码方式 -->
    <scripting-invalid>true</scripting-invalid><!--是否忽略JSP脚本。默认false -->
    <include-prelude>/head.jspf</include-prelude><!--在执行 JSP 之前执行该文件 -->
    <include-coda>/foot.jspf</include-coda><!--在执行 JSP 之后执行该文件 -->
   </jsp-property-group>

  </jsp-config>

2、<include-prelude>与<include-coda> 支持的文件一般以 .jspf为后缀。

3、正常如果自定义标签与方法的话,需要配置。

二、EL表达式 ${}

(一)读取对象以及属性的简单方式

1、${person.age}:默认先从request中获取,没有则会从session 中获取。

(二)读取隐藏对象

1、读取其他隐藏对象,例如:

1)、${param.name} :读取地址栏参数,等价于request.getParameter("name");

2)、${initParam.foo}:读取初始化参数,相当于 comfig.getInitParameter("foo")

3)、${header.host}:读取 head 参数,相当于request.getHeader("host")

(三)EL 表达式运算

1、简单运算:加减乘除、取余(%、mod)、三目运算等

${1+2}

${5%2}

${1==2 ? 3 : 4}

2、简单比较运算:等于(==、eq) 不等于(!= 、ne)

${1>2}

${1==2}

${1 eq 2}

${1!=2}

${1 ne 2}

3、比较运算&& ||

4、Map:使用empty 判断是否为空。

${param.param[0]}

${empty param.paramA}

5、EL表达式不能直接访问普通的方法,以及静态属性。

时间: 2024-08-10 15:11:44

JSP学习笔记(三):JSP配置与EL表达式的相关文章

【JavaWeb】学习笔记三 Eclipse配置开发环境

1.去Eclipse官网下载一个Eclipse IDE for Java EE http://www.eclipse.org/downloads/ 2.下载安装完毕,在 左侧Package Explorer点击右键-> New -> Project 3.在弹窗中选择 Web -> Dynamic Web Project 创建项目 4.根据自己项目名和路径 Tomcat jdk配置相关版本和路径 5.在WebContent里创建一个index.jsp 6.在myhome上点击右键->

Servlet&JSP学习笔记

Servlet&JSP学习笔记 */--> Servlet&JSP学习笔记 Table of Contents 1 Web容器 2 内置对象 2.1 内置对象分类 2.1.1 out 2.1.2 request 2.1.3 application 2.1.4 response 2.1.5 session 2.1.6 其他 3 JavaBean 3.1 JSP动作元素 3.2 javabean的四个作用於范围 4 JSP状态管理 4.1 Cookie 4.2 include 指令与动作

Servlet&amp;Jsp学习笔记归纳图(一)

转载请注明出处!!!版权必究!! 以下是Servlet&Jsp的学笔记归纳图,详细内容以及相关代码会在后面整理完成 后给出 使用的是思维导图工具:MindManager 6 最新版本是2013,有兴趣的自己百度下载,功能更多,安装有点麻烦 以下提供版本6绿色版免安装版下载: http://pan.baidu.com/s/1jGqlnXc 本节思维导图文件下载:http://pan.baidu.com/s/1eQGbMSU Servlet&Jsp学习笔记归纳图(一),布布扣,bubuko.c

struts学习笔记(1)基本配置

Struts2  学习笔记 吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识.此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合 一.基本配置 

JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session

EL表达式语言 EL就是Expression Language,目的是简化JSP的语法.来看几个例子就明白了. ${test} 会翻译成<%=test%> ${test.name} 会翻译成 <%=test.getName()%> ${sessionScope.username}} 会翻译成 <%=session.getAttribute("username")%> 只有sessionScope.requestScope等才会翻译成getAttrib

CentOS 7 学习(三)配置Tomcat集群

所谓集群,就是把多台服务器集合起来,对外提供一个接口访问,对用户来说完全透明,常用的办法就是前端放一个服务器,将用户请求分发到不同的服务器,大致有以下几种方案 1)采取DNS轮询:将用户的连接解析到不同的服务器上,这会产生一个问题,如果一个服务器宕掉,DNS无法及时更新,就会出现问题 2)反向代理服务器:将用户的连接转发到不同的服务器上,这有两种方式,一个是修改HTTP头,让用户的连接转到固定的服务器,以后不再和代理服务器交互,这会修改用户浏览器里的地址,可能会不怎么友好:如果不修改地址,用户总

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

NFC学习笔记——三(在windows操作系统上安装libnfc)

本篇翻译文章: 这篇文章主要是说明如何在windows操作系统上安装.配置和使用libnfc. 一.基本信息 1.操作系统: Windows Vista Home Premium SP 2 2.硬件信息: System: Dell Inspiron 1720 Processor: Intel Core 2 Duo CPU T9300 @ 2.5GHz 2.5GHz System type: 32-bit Operating System 3.所需软件: 在windows操作系统上安装软件需要下列

angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指令(5)-link文章也提到了link函数的第五个参数linker. 这篇文章就来讲解一下transclude()方法(linker()方法),是怎么使用的,另外,它也是compile函数的第三个参数,用法一样. 下面就通过自己写一个简易的模拟ngRepeat的指令cbRepeat,来了解linke

Spring Batch学习笔记三:JobRepository

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch Job在运行时有很多元数据,这些元数据一般会被保存在内存或者数据库中,由于Spring Batch在默认配置是使用HSQLDB,也就是说在Job的运行过程中,所有的元数据都被储存在内存中,在Job结束后会随着进程的结束自动消失:在这里我们推荐配置JobRepository去使用MySQL. 在这种情况下,Spring Batch在单次执行或者从一个执行到另外一个执行的时候会使用数据库去维护状态,Job执行的信息包