jsp,el表达式,jstl标准标签库
平时看别人写代码时,总感觉对上述三个还算挺了解的,但一敲代码就蒙了
1
首先是对 <% %> <%! %> <%@ %> <jsp:include page="/foreground/common/head.jsp"/> <%@ include file="/foreground/common/head.jsp"%> 第一个,里面可以写java代码 第二个,表示在类中定义全局成员,静态块 第三个,6个动作之一include,动态包含 第四个,3个指令之一,静态包含
两者的区别:翻译的时间段不同
前者:在翻译时就把两个文件合并
后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。
(省略include后的html代码,将会合并翻译成一个java代码)
原则:能用静的就不用动的
2
其次是对el表达式的理解 ${}可以直接在jsp里面写,也可以写在双引号之内 ${u.name} == u.getName()方法 点(.) 运算符相当于调了getter方法,点后页面跟的是属性名。 对于这点,我开始还搞不清,我想我在user这个javaBean里定义的属性name是私有的,${u.name}这个怎能直接访问他的属性呢, 于是百度了半天,也有人问出了这个疑惑,问jstl能否访问javaBean的私有属性 我想我现在可以告诉他了 他还有一个属性导航的功能
3
对于jstl,主要用于判断或循环 <c:if test=" ${num>3}"> 结果为true执行 <c:if> 说一下这个没有提供else,还有注意一下test里面怎么写,他是怎么和el表达式一起用的 还有一个c:foreach,这个也经常用
最近细节问题有点多