EL表达式和JSTL标签库

来源:互联网 发布:js this对象 编辑:程序博客网 时间:2024/05/22 17:21

EL表达式:用于jsp页面,获取后台的数据,或者后台通过它获取数据,简便


在指定作用域中取得共享数据
${pageScope.属性名}

在page域取得数据,其他以此类推,requestScope、sessionScope、applicationScope


如果没有写作用域,默认顺序是pageContext < request < session < application

访问对象的属性的写法:
${对象.属性名}
或者${对象[“属性名”]}


在JSP中获取上下文路径的方式,用于表单提交action="url"、页面包含
${pageContext.getRequest().getContextPath()}


JSTL标签库,主要是为了简化jsp中的代码

JSTL有五个标签库(核心标签库、国际化、sql标签库、xml标签库、函数标签库)
使用JSTL的库时,需要在jsp里声明 <%@ taglib url="需要的库的url" prefix="c"%>
为了防止方法重名,标签来源,用prefix表示前缀,来区分,写法为 <c:if> <c:forEach> <c:when>
核心标签库包括:out , set , remove , catch , if , choose , when 和 URL 等.
表达式操作标签:  包括:out , set , remove , catch.


这里主要是核心标签库部分标签的用法


单条件判断
<c:if test=="判断条件" var="要判断的变量" [scope="{page|request|session|application}"]/> 
或<c:if> </c:if>


多条件判断
<c:choose>
<c:when test="判断条件">
</c:when>
...
<c:otherwise>
</c:otherwise>
</c:choose>

scope表示作用域


循环:默认取得的数据在page里
<c:forEach [var="要判断的变量名"] items="要循环取出数据的集合名" [varStatus="varStatusName"]>
本体内容
</c:forEach>
varStatus是标签中的属性,是一个对象,它有4个属性(index、count、first、last)

比如count用来表示当前集合取出的第几个,用varStatusName.count表示第多少个


循环次数:
<c:forEach [var="要循环输出的变量名"] [varStatus="varStatusName"] begin="开始的位置" end="结束的位置" [step="循环的次数"]>
本体内容
</c:forEach>
varStatus是标签中的属性,是一个对象,它有4个属性(index、count、first、last)

比如count用来表示当前集合取出的第几个,用varStatusName.count表示第多少个


日期格式化,要先导入fmt方面的库
page等域必须现有数据
<% Data d = new Data();
request.setAttribute("d",d);
<fmt:formatDate value="${d}" pattern="yyyy年mm月dd日hh时mm分ss秒" />

0 0
原创粉丝点击