Java自学之路-Java中级教程-22:SpringMVC与JSTL标签库taglib的引入

除了可以使用EL表达式简化JSP页面代码,还有一种JSTL标签库,通常和EL表达式结合使用。


JSTL即是JavaServer Pages Standard Tag Library,JSP标准标签库。JSTL可以用标签的形式来实现循环语句、条件语句、格式化等。


前面的PersonController.java中从数据库查询出Person的记录,保存在了personList的一个List对象中。在Jsp中取出这个列表对象,用了<%=request.getAttribute("personList") %>这样的语句。如果要在Jsp页面中把列表中的每一条记录显示出来,当然可以在Jsp页面中使用Java代码来循环出结果,但是这样做就使JSP页面中有了很多Java代码。这里就介绍使用JSTL标签来实现循环。


要使用JSTL标签库,需要引入两个jar包。一个是jstl.jar,一个是standard.jar。下面给出这两个jar包的下载地址。

http://central.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar

http://central.maven.org/maven2/taglibs/standard/1.1.2/standard-1.1.2.jar


把这两个jar包下载下来,放到WEB-INF/lib目录中,重新启动Tomcat服务器。


在person.jsp中加入标签库的taglib引入。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

taglib有两个属性uri和prefix,uri是标签库的标记全称,比如http://java.sun.com/jsp/jstl/core,perfix是标签库的标记简称,比如c。最常用的标记库是core和format标记库,这里重点介绍这两个标记库,其他标记库如xml和sql标记库很少用到。


core标记库也有很多,比如c:forEach、c:choose、c:set、c:if是比较常用的,分别为循环标签、选择标签、设置变量标签、条件判断标签。



下面的例子来循环显示personList的记录值。



这里使用c:forEach标签,items属性为${personList},是一个EL表达式。var属性为person,即是从personList循环出来的每一个记录,定义为变量person。这样在c:forEach标签的开始标签和结束标签里面,就可以使用EL表达式取出每一个记录变量的属性值,比如${person.id }和${person.nation }。


Java视频教程


猜你喜欢

转载自blog.csdn.net/weixin_41239710/article/details/80697618
今日推荐