引荐课程:Java教程。
JSTL 1.0 宣布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库考证器(ScriptFreeTLV 和 PermittedTaglibsTLV)构成。core 标记库供应了定制操纵,经由过程限定了作用域的变量治理数据,以及实行页面内容的迭代和前提操纵。它还供应了用来生成和操纵 URL 的标记。望文生义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操纵。它还支撑运用本地化资本束举行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操纵经由过程 XML 示意的数据,而 sql 库定义了用来查询关联数据库的操纵。
假如要运用JSTL,则必需将jstl.jar和 standard.jar文件放到classpath中,假如你还须要运用XML processing及Database access (SQL)标签,还要将相干JAR文件放到classpath中,这些JAR文件悉数存在于下载返来的zip文件中。
Jstl带来的文雅编程体验人所皆知,在java社区如日方升的本日运用jstl已无需斟酌许多题目,我们可以用myeclipse等java集成开辟环境轻松搭建一个jstl的web项目。即使有了myeclipse这么得力的东西帮我们疾速开辟web项目,然则有一些学问我们必需相识的 ---- 那就是jstl与servlet版本,以及jsp版本之间的依靠关联。
细致引见
JSP 范例标签库(JSP Standard Tag Library,JSTL)是一个完成 Web应用顺序中常见的通用功用的定制标记库集,这些功用包含迭代和前提推断、数据治理格式化、XML 操纵以及数据库接见。在 developerWorks 上其新系列的第一篇文章中,软件工程师Mark Kolb 向您展现了怎样运用 JSTL 标记来防止在 JSP 页面中运用剧本编制元素。您还将相识怎样经由过程从示意层删除源代码来简化软件保护。末了,您将相识 JSTL 经由简化的表达式言语,它许可在没必要运用功用完全的编程言语的情况下对 JSTL 操纵指定动态属性值。
JavaServer Pages(JSP)是用于 J2EE 平台的范例示意层手艺。JSP 手艺供应了用于实行盘算(这些盘算用来动态地生成页面内容)的剧本编制元素和操纵。剧本编制元素许可在 JSP 页面中包含顺序源代码,在为相应用户要求而显现页面时可以实行这些源代码。操纵将盘算操纵封装到很象 HTML 或 XML 标记的标记中,JSP 页面的模板文本一般包含这些标记。JSP 范例只将几种操纵定义成了范例,但从 JSP 1.1 最先,开辟职员已可以以定制标记库的体式格局建立其本身的操纵了。
JSP 范例标记库(JSTL)是 JSP 1.2 定制标记库集,这些标记库完成大批服务器端 Java应用顺序经常使用的基本功用。经由过程为典范示意层使命(如数据格式化和迭代或前提内容)供应范例完成,JSTL 使 JSP 作者可以专注于特定于应用顺序的开辟需求,而不是为这些通用操纵“重整旗鼓”。
固然,您可以运用 JSP 剧本编制元素(scriptlet、表达式和声明)来完成此类使命。
比方,可以运用三个 scriptlet 完成前提内容,清单 1 中偏重显现了这三个 scriptlet。然则,由于剧本编制元素依靠于在页面中嵌入顺序源代码(一般是 Java 代码),所以关于运用这些剧本编制元素的 JSP 页面,其软件保护使命的复杂度大大增加了。比方,清单 1 中的 scriptlet 示例严格地依靠于花括号的准确婚配。假如不经意间引入了一个语法错误,则前提内容中的嵌套别的 scriptlet可能会形成严重破坏,并且在 JSP容器编译该页面时,要使所发生的错误信息有意义可能会很难题。
清单 1. 经由过程 scriptlet 完成前提内容
<% if (user.getRole() == "member")) { %> <p>Welcome, member!</p> <% } else { %> <p>Welcome, guest!</p> <% } %>
修改此类题目一般须要相称雄厚的编程履历。只管一般会由异常通晓页面规划和图形设想的设想职员来开辟和保护 JSP,然则统一页面中的剧本编制元素出现题目时,须要顺序员的参与。这类状态将单个文件中代码的义务分管给多人,因此使得开辟、调试和加强此类 JSP 页面成为很贫苦的使命。经由过程将经常使用功用包装到定制标记库的范例鸠合中,JSTL 使 JSP 作者可以削减对编制剧本元素的需求,以至可以不须要它们,并防止了相干的保护本钱
例子可以异常简朴把后端数据显现到页面中:
您的用户名是: <c:out value=”${user.username}” default=”guest”/>
显现用户的用户名,如为空则显现guest
<c:out value="${sessionScope.username}"/>
指定从session中猎取username的值显现;
<c:out value="${username}" />
显现username的值,默许是从request(page)中取,假如request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,假如没有取到任何值则不显现。
以上就是什么是jstl的细致内容,更多请关注ki4网别的相干文章!