JSTL学习笔记1-----操作javabean以及属性
2012-04-23 00:29
281 查看
JSTL 又称JSP标准标签库 有apache的 jarkata小组开发 同EL表达式目的一样都是为了 将复杂的jsp代码 以标签的形式 显示出来
我们在使用JSTL就要下载jstl.jar 和 standard.jar文件 ,要想tomcat 和 我们的Eclipse 都支持 JSTL那么就要 分别将2个jar 部署到
tomcat的lib目录下 ,以及将这两个jar 添加到我们项目的 BuildPath中去。
添加到BuildPath是为了 我们在Eclipse开发的时候 可以使用JSTL ,将jar部署到tomcat下是为了使tomcat支持处理jstl 。
jstl的jar文件的下载地址 :http://tomcat.apache.org/taglibs/standard/
jstl的参考文档地址 http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/
1、<c:set></c:set>标签对的使用。
我们可以再 application page request session 的范围内使用jstl添加属性 。
如下 <c:set var="num" value="10" scope="page"/> 没有body的形式
<c:set var="num" scope="page">10</c:set> 带body的形式 都可以对属性进行设置值
2、我们还可以为一个java.util.Map对象或者 一个javaBean设置属性的值 。对于 Map来说如果属性不存在那么就会添加一个属性
javaBean如果类型不匹配那么 会自动进行强制转换,如果转换失败那么就会抛出JSPException 异常 。
<c:set target="${bean}" property="width">100</c:set> 这是将一个bean对象的width属性设置 100
<c:set target="${bean}" property="width" value="100"/> 这个同上只是没有body 。
我们要注意的一点是,target是JavaBean对象的名字 ,我们一定要利用EL表达式 "${bean}"进行转换后再赋值 ,不可以 直接"bean",否则出错 。 在jsp动作指令中没这个规矩。 还要注意的一点是使用<c:set></c:set>包标签对的用户 设置javaBean时候要设置的那
个属性 必须要有setXxx()的方法 。
总之我们在书写javaBean的时候一定要规范javaBean的格式 ,因为这样有助于JSP引擎来知道javaBean 。我们还以使用内省的方式
来操作JavaBean 。
如果有一个JavaBean为 bean ,并且我们将这个javaBean 设置为了 request.setAttribute("bean",bean);
那么如下语句将是true
<%
out.print((bean==request.getAttrubute("bean")));
%>
3、<c:remove var="属性名" scope="{page|application|request|session}"/> 是删除指定范围内的一个属性。
如果我们不指定范围那么JSP引擎会自动搜索 该名称的属性。
4、<c:out value="" escapeXml="{true|false}">默认的值</c:out>
<c:out value="" escapeXml="{true|false}" defaule=""/>
这两种结果是一样的 escapeXml为true的时候可以输出特殊字符 。 例如&<>"'等等
对于属性的输出一定要利用EL表达式 转换成字符串 。"${var}" 然后在赋值给value
注意的一点是 :
如果我们输出的属性不存在 或者null 那么将输出默认值 如下 :
<c:set var="num"> 10</c:set>
<c:remove var="num"/>
<c:out var="num" >属性不存在 </c:out>
结果会显示 属性不存在 。。。 <c:remove></c:remove>相当于调用了pageContext.removeAttribute() ;
pageContextg是javax.servlet.jsp.PageContext 的实例 代表了 jsp上下文 、环境。
5、<c:catch></c:catch>进行异常捕获
<c:catch var="error">
<%=3/0%>
</c:catch>
<c:out var="${error}"/>
这样就捕获了异常。。。
我们在使用JSTL就要下载jstl.jar 和 standard.jar文件 ,要想tomcat 和 我们的Eclipse 都支持 JSTL那么就要 分别将2个jar 部署到
tomcat的lib目录下 ,以及将这两个jar 添加到我们项目的 BuildPath中去。
添加到BuildPath是为了 我们在Eclipse开发的时候 可以使用JSTL ,将jar部署到tomcat下是为了使tomcat支持处理jstl 。
jstl的jar文件的下载地址 :http://tomcat.apache.org/taglibs/standard/
jstl的参考文档地址 http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/
1、<c:set></c:set>标签对的使用。
我们可以再 application page request session 的范围内使用jstl添加属性 。
如下 <c:set var="num" value="10" scope="page"/> 没有body的形式
<c:set var="num" scope="page">10</c:set> 带body的形式 都可以对属性进行设置值
2、我们还可以为一个java.util.Map对象或者 一个javaBean设置属性的值 。对于 Map来说如果属性不存在那么就会添加一个属性
javaBean如果类型不匹配那么 会自动进行强制转换,如果转换失败那么就会抛出JSPException 异常 。
<c:set target="${bean}" property="width">100</c:set> 这是将一个bean对象的width属性设置 100
<c:set target="${bean}" property="width" value="100"/> 这个同上只是没有body 。
我们要注意的一点是,target是JavaBean对象的名字 ,我们一定要利用EL表达式 "${bean}"进行转换后再赋值 ,不可以 直接"bean",否则出错 。 在jsp动作指令中没这个规矩。 还要注意的一点是使用<c:set></c:set>包标签对的用户 设置javaBean时候要设置的那
个属性 必须要有setXxx()的方法 。
总之我们在书写javaBean的时候一定要规范javaBean的格式 ,因为这样有助于JSP引擎来知道javaBean 。我们还以使用内省的方式
来操作JavaBean 。
如果有一个JavaBean为 bean ,并且我们将这个javaBean 设置为了 request.setAttribute("bean",bean);
那么如下语句将是true
<%
out.print((bean==request.getAttrubute("bean")));
%>
3、<c:remove var="属性名" scope="{page|application|request|session}"/> 是删除指定范围内的一个属性。
如果我们不指定范围那么JSP引擎会自动搜索 该名称的属性。
4、<c:out value="" escapeXml="{true|false}">默认的值</c:out>
<c:out value="" escapeXml="{true|false}" defaule=""/>
这两种结果是一样的 escapeXml为true的时候可以输出特殊字符 。 例如&<>"'等等
对于属性的输出一定要利用EL表达式 转换成字符串 。"${var}" 然后在赋值给value
注意的一点是 :
如果我们输出的属性不存在 或者null 那么将输出默认值 如下 :
<c:set var="num"> 10</c:set>
<c:remove var="num"/>
<c:out var="num" >属性不存在 </c:out>
结果会显示 属性不存在 。。。 <c:remove></c:remove>相当于调用了pageContext.removeAttribute() ;
pageContextg是javax.servlet.jsp.PageContext 的实例 代表了 jsp上下文 、环境。
5、<c:catch></c:catch>进行异常捕获
<c:catch var="error">
<%=3/0%>
</c:catch>
<c:out var="${error}"/>
这样就捕获了异常。。。
相关文章推荐
- JSTL学习笔记1-----操作javabean以及属性
- JSTL学习笔记1-----操作javabean以及属性
- 【学习笔记】DOM中的节点操作函数以及属性
- unity学习笔记01--基础视图以及基本操作
- jq框架封装学习笔记5-样式操作与属性操作模块
- [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作
- Android开发学习笔记:Intent的简介以及属性的详解
- Android开发学习笔记:Intent的简介以及属性的详解
- 学校学习ios教程笔记,第五节swift中的字典以及枚举的概念与操作和初识函数
- Android开发学习笔记:Intent的简介以及属性的详解
- Perl 字符串操作 以及 自定义排序学习笔记
- Spring学习笔记 关于Bean属性的初始化 - 使用inner bean以及List, Map与Set的初始化
- Spring学习笔记 关于Bean定义的重用-使用abstract以及parent标签属性
- jQuery学习笔记— jQuery对表单、表格的操作以及更多应用
- Java学习笔记十:Java的数组以及操作数组
- 【转载】Android开发学习笔记:Intent的简介以及属性的详解
- jQuery学习笔记1——操作属性
- Java学习笔记之<反射、内省、BeanUtils包操作JavaBean的对比>
- Vim学习笔记6---多文件操作以及标签