您好,登录后才能下订单哦!
本篇内容介绍了“JSTL和EL开发JSP页面的优势及实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
引言
WEB应用程序设计(JSP)是计算机专业学生的专业必修课程,但是有些Java语言基础薄弱的同学会感觉学习困难,很多同学在毕业 后参加信息产业部等部门组织的相应专业职业技能考证考试时感到束手无策,因为JSP中大量动态内容的逻辑需要通过Java代码段来实现。JSTL(JSP Standard Tag Library,JSP标准标记库)规范的发布和JSP 2.0新特性EL(Expression Language,表达式语言)的引入,为不习惯Java语言或者不熟悉Java语言的WEB设计开发人员提供了一个JSP开发的新途径,它简化了程序, 提高了程序的可读性和可维护性。
优势与实现
JSTL规范是由JCP(Java Community process program)开放性组织发展完善的。JSTL1.0始发布于2002年6月,目前***版本是JSTL1.2。JSTL实际上可以看作是一组基于XML 语法的自定义标记形成的标记库。JSTL提供五个标准标记库(core核心、internationalization/format(国际标准化/格 式)、XML、SQL和function函数)并支持EL。EL是2003年发布的JSP 2.0引入的最主要的新特性,它用简单语法定义了表达式语言。在JSTL标记中,可以灵活使用EL表达式,提供了一个用EL表示的强大的属性集,使得 JSP动态表示层技术开发可以完全脱离Java脚本代码。
目前Tomcat 6 Web服务器中不自动包含对JSTL的支持,所以在使用JSTL之前须在SUN的JSTL页面(http://java.sun.com /products/jsp/jstl)下载JSTL规范(一些.JAR文件)。JSTL有以下三个安装配置步骤:
①将JSTL实现库文件 jstl.jar和standard.jar以及标记库描述文件夹tld拷贝到Tomcat Webapps的WEB-INF下。
②修改web.xml(Web应用配置文件),在其中定义五类标准标记库所对应的.tld(标记库描述文件)的 URI。例如在使用核心标记库之前,须编辑web.xml并在其中添加如下代码:
<taglib-uri﹥http://java.sun.com/jsp/jstl/core <taglib-location﹥/WEB-INF/tld/c.tld |
③在JSP页面开头用taglib标记库指令指定要使用的标记库。比如,要使用JSTL core标记库,EL 版本的taglib伪指令为:
<%taglib uri=http://java.sun.com/jsp/jstl/core"prefix="c"%> |
其中:c是核心标记库的前缀名(可由用户指定或用系统约定前缀c),它在使用标记库标记时用到。例如:out是核心库4个通用标记之一,
以获取“用户注册登录”表单信息的处理程序为例:
使用EL param获取用户提交的数据,可以简单表示为:
姓名:${param.name}性别:${param.sex}E-mail:${param.email} ... ...
其中,name、sex、email等分别是提交表单的控件名。
***,以JSP开发《班级论坛》实例项目为例:
DbQuery.jsp是一个查询数据库的页面。我们在MySQL数据库classbbs中创建了拥有全部权限的用户 cq(password:admin)及数据库表stud。运行http://localhost:8080/proj/BBS/ DbQuery.jsp后将可以显示stud表中的全部记录的相关内容。(在开源项目eclipse下编辑编译运行通过)。
<!-- DbQuery.jsp --> <%@ page contentType="text/html;charset=GBK" %> <!—1.指定要使用的SQL标记库和核心标记库 --> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!—2.设置数据源并保存在datas中 --> <sql:setDataSource url="jdbc:mysql://localhost:4097/classbbs" driver="com.mysql.jdbc.Driver" user="cq" password="admin" var="datas"/> <!—3.执行一个数据库查询并将结果保存在res中 --> <sql:query sql="select *from stud" var="res" dataSource="${datas}"/> <!—4.显示查询结果 --> <html><body><table border="1"> <tr><th>姓名</th><th>留言</th><th>提交时间</th></tr> <c:forEach var="row" items="${res.rows}"> <tr><td><c:out value="${row.name}"/></td> <td><c:out value="${row.say}"/></td> <td><c:out value="${row.submit}"/></td></tr> </c:forEach></table></body></html> |
结语
JSTL的core标记库中提供了所有JSP页面常用功能的集合;SQL标记库提供了对数据库的访问支持;此外 Internationalization/format标记库提供了国际化(I18N)标记集和数字、日期等的相关标记集用以处理数据显示的国际化和格 式化;XML标记库提供了对XML语言的支持;function标记库提供了对函数的支持等等。JSTL和EL以巨大的优势简化了JSP的WEB开发。限 于篇幅,我们只对其中的core和SQL标记库给出了应用实例,希望对喜欢用JSP开发web应用而又畏惧Java语言的同学会有所帮助。
“JSTL和EL开发JSP页面的优势及实现方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。