在说SpringMVC之前,先说一说JSTL(jsp标准模板库)和EL表达式,因为具体的例子是用JSTL和EL表达式完成的.
 
一.  JSTL
因为没有下到jstl,那么该怎么去找JSTL呢?用eclipse可以生成,在struts(struts-blank)里也可以找到.
1.       我的JSTL容器是Tomcat,把jstl.jar和standard.jar,copy到你工程的WEB-INF/lib目录下
2.       然后把那8个lib文件再copy到WEB-INF/lib目录下
3.       然后在web.xml中配置:
<jsp-config><?XML:NAMESPACE PREFIX = O />
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/fmt[/url]</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/fmt-rt[/url]</taglib-uri>
    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/core[/url]</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/core-rt[/url]</taglib-uri>
    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/sql[/url]</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/sql-rt[/url]</taglib-uri>
    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/x[/url]</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>[url]http://java.sun.com/jstl/x-rt[/url]</taglib-uri>
    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
</jsp-config>
注意此处的<jsp-config>节点.是jsp2.0新增加的,如果没有此节点,而使用<taglib>就会报错.
4.    在jsp页面中使用jsp指令
<%@ taglib=”c” uri=” [url]http://java.sun.com/jstl/core_rt[/url]”%>
我们就可以使用JSTL了.
二.EL表达式
EL表达式和JSTL一样,都是属于JSP的技术.
基本语法格式${表达式},当jsp页面遇到${expression}时,JSP容器的EL引擎就解释执行花括号内的表达式.
  1. 在EL表达式中可以直接使用属性名来引用存储在各种域范围(page,request,session,application)中的属性.例如:
${user}等效于request.getAtrribute(“user”)返回对象.
  1. 可以用${javabean.xxx.xxxx}格式来访问javabean对象中属性的属性.以及使用user[0]的形式来访问集合对象.
  2. 可以执行基本的运算.
  3. 可以使用自定义函数.
  4. EL定义了一系列隐含对象,例如pageContext,cooike等.
为了防止javascript脚本***,通常使用JSTL标签<c:out>来对EL输出.
 
在web.xml文件中可以配置<jsp-property-group>节点(为<jsp-config>的子元素)来使jsp不支持EL
<jsp-property-group>
       <url-pattern>*.jsp</url-pattern>
       <el-ignored>true</el-ignored>
</ jsp-property-group>
也可以使用page指令的isEgnored属性来改变web.xml配置状态.page指令优先级高于web.xml里的配置.
<jsp-property-group>
       <url-pattern>*.jsp</url-pattern>
       <scripting-invalid>true</ scripting-invalid >
</ jsp-property-group>
上面的配置是指定jsp里不能使用脚本元素.
EL中的错误处理机制:
EL对jsp的错误处理就是,不提供警告,只提供默认值和错误.当子表达式有问题的时候,就使用默认值代替有问题的值.比如${javabean.address.city},如果address里没有city属性,则输出默认值(什么都不输出).而不是输出nulll.当javabean里没有address属性时,浏览器就会抛出异常.
关于EL,还有待于补充.

SpringMVC Ⅰ相关推荐

  1. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  2. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

  3. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  4. SpringBoot-web开发(四): SpringMVC的拓展、接管(源码分析)

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...

  5. SpringMVC——通俗易懂讲讲Ajax~

    聊聊Ajax 一.什么是Ajax 二.iframe标签简单伪造Ajax 三.Ajax的实现 1. 基本概念的了解 Ajax的核心是什么? XMLHttpRequest是什么? Ajax数据传输的数据格 ...

  6. Jackson、FastJson快速入门(整合SpringMVC)

    目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...

  7. RESTful风格及其SpringMVC实现

    目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...

  8. 使用注解开发SpringMVC详细配置教程

    目录 1.使用注解开发SpringMVC 1.新建一个普通的maven项目,添加web支持 2.在pom.xml中导入相关依赖 3.配置web.xml 4.编写SpringMVC配置文件 1. 自动扫 ...

  9. SpringMVC的form:form表单的使用

    为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作.其次就是能够更加方便的实现表单回显. 首先要 ...

  10. SpringMVC工作环境搭建 配置文件

    web.xml配置 在服务器端容器启动之前加载配置文件的顺序:context-param>listener>filter>servlet //容器配置application上下文的时 ...

最新文章

  1. 《Linux企业应用案例精解》一书已由清华大学出版社出版
  2. python控制流_Python 的控制流代码混淆
  3. Sqlyog的安装使用
  4. java质,JAVA分解质因子 - osc_r1gtal48的个人空间 - OSCHINA - 中文开源技术交流社区
  5. LeetCode 1182. 与目标颜色间的最短距离(二分查找/DP)
  6. 查看Full GC方法:1,jconsel:2,linux 命令: jstat -gcutil id 4s 10003,linux 命令(前提有.gc日志):c
  7. python报考软考哪个比较好_软考高级考哪个好?哪个比较热门?
  8. RedisDesktopManager的安装与使用
  9. 2017.9.6 外星人 思考记录
  10. VS2012下基于Glut 绘制立方体示例程序:
  11. crx文件里面的html文件,javascript – Chrome扩展程序:在crx文件中打开html,标签上没有图标...
  12. WinForm中TextBox的几个基本技巧
  13. Labelimg图像标注
  14. Mac 中如何解压.bin文件
  15. Autoware(Architecture Proposal)
  16. html5红外遥控,自制红外遥控开关详细步骤(两款自制红外遥控开关方法) - 全文...
  17. 实用的Android ui分析工具
  18. 爱奇艺大裁员,互联网的苦日子来了…
  19. NKOJ 4043 (CQOI 2017) 老C的键盘 (树形DP)
  20. 11月20日 如何在场景开启Debug,自定义AI任务,EQS,创建自己的环境任务,使用Pawn环境检测来检测周围的环境,让AI动作更顺滑(动画混合

热门文章

  1. Rust: Lifetime小心要你命!
  2. Julia : 再谈HDF5 的save 和 load
  3. 文荣:7月24日阿里云上海峰会网络大神
  4. 【扩频通信】基于matlab CDMA直接序列扩频系统仿真【含Matlab源码 1528期】
  5. 【优化算法】帝国主义竞争优化算法(ICA)【含Matlab源码 1635期】
  6. 【TSP】基于matlab遗传和模拟退火算法求解旅行商问题【含Matlab源码 696期】
  7. android 设置屏幕固定位置,Android 关于dialog的显示位置设置
  8. html语义化标签_9.28晨会分享 常见的HTML5语义化标签、实体字符
  9. dbscan js 实现_DBSCAN在PySpark上的实现
  10. ajax前面$,连续多次发送Ajax前面的请求被后面的覆盖以致不能执行的问题