SpringMVC Ⅰ

本文详细介绍了JSTL(jsp标准模板库)的安装配置步骤,并讲解了如何在JSP页面中使用JSTL标签。同时,还探讨了EL表达式的使用方法及EL中的错误处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在说 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 指令

我们就可以使用 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, 还有待于补充 .

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值