关于网站建设的意义,图案设计网站有哪些,对网站建设的意见和建议,人社局网站建设步骤目录 为什么会有JSTL#xff1f;
什么是JSTL#xff1f;
如何理解JSTL标准标签库呢#xff1f;
如何使用JSTL#xff1f;
第一步#xff1a;引入JSTL标签库对应的jar包。
第二步#xff1a;在JSP中引入要使用标签库。#xff08;使用taglib指令引入标签库。#x…目录 为什么会有JSTL
什么是JSTL
如何理解JSTL标准标签库呢
如何使用JSTL
第一步引入JSTL标签库对应的jar包。
第二步在JSP中引入要使用标签库。使用taglib指令引入标签库。
第三步在需要使用标签的位置使用即可。表面使用的是标签底层实际上还是java程序。
JSTL的本质是什么
JSTL原理剖析
源码解析配置文件tld解析
JSTL的常用标签 为什么会有JSTL 在此之前我们为了使得JSP中的java代码更加简洁我们使用了EL表达式EL表达式的主要作用是从域中取数据但是有时候我们在JSP中也会书写其他Java代码比如if判断啊或者for循环等等那么这些代码的简化是无法用EL表达式完成的所以我们就引入了JSTLJava标准标签库 从上面的概念引入中我们可以得出JSTL的作用简化JSP中的java代码
什么是JSTL Java Standard Tag LibJava标准的标签库 JSTL标签库通常结合EL表达式一起使用。目的是让JSP中的java代码消失。 标签是写在JSP当中的但实际上最终还是要执行对应的java程序。java程序在jar包当中。
如何理解JSTL标准标签库呢 我们之前接触标签是在学习了HTML超文本标记语言是接触的呢么标签是如何创造的呢为什么会使用标签呢我们之前学过将Java中常用的代码封装成一个方法这样是为了在使用到这个方法的时候能避免重复书写一些复杂的代码标签也是一样你可以认为标签就是一个方法名他的底层还是Java代码知识在使用时为了简便我们将这些重复的代码封装成了一个一个的标签标签的底层还是Java代码只是为了让我们程序员减少代码书写量而创建的一种简便用法
如何使用JSTL 第一步引入JSTL标签库对应的jar包。 在IDEA当中怎么引入 在WEB-INF下新建lib目录然后将jar包拷贝到lib当中。然后将其“Add Lib...” 一定是要和mysql的数据库驱动一样都是放在WEB-INF/lib目录下的。 什么时候需要将jar包放到WEB-INF/lib目录下如果这个jar是tomcat服务器没有的。 tomcat10之后引入的jar包是 jakarta.servlet.jsp.jstl-2.0.0.jar jakarta.servlet.jsp.jstl-api-2.0.0.jar 第二步在JSP中引入要使用标签库。使用taglib指令引入标签库。 JSTL提供了很多种标签你要引入哪个标签重点掌握核心标签库。 %taglib prefixc urihttp://java.sun.com/jsp/jstl/core %
!--这个就是核心标签库。--
!--prefix这里随便起一个名字就行了核心标签库工作中常被默认的叫做c你随意。-- 第三步在需要使用标签的位置使用即可。表面使用的是标签底层实际上还是java程序。
JSTL的本质是什么 上面已经说的很清楚了JSTL的本质是Java代码JSTL只是更好的将Java代码封装成了一个一个简便的标签
JSTL原理剖析 %taglib prefixc uriOracle Java Technologies | Oracle % 以上uri后面的路径实际上指向了一个xxx.tld文件。 tld文件实际上是一个xml配置文件。 在tld文件中描述了“标签”和“java类”之间的关系。 以上核心标签库对应的tld文件是c.tld文件。它在哪里。 在jakarta.servlet.jsp.jstl-2.0.0.jar里面META-INF目录下有一个c.tld文件。
源码解析配置文件tld解析
tagdescription对该标签的描述/descriptionnamecatch/name 标签的名字tag-classorg.apache.taglibs.standard.tag.common.core.CatchTag/tag-class 标签对应的java类。body-contentJSP/body-content 标签体当中可以出现的内容如果是JSP就表示标签体中可以出现符合JSP所有语法的代码。例如EL表达式。attributedescription对这个属性的描述/descriptionnamevar/name 属性名requiredfalse/required false表示该属性不是必须的。true表示该属性是必须的。rtexprvaluefalse/rtexprvalue 这个描述说明了该属性是否支持EL表达式。false表示不支持。true表示支持EL表达式。/attribute/tagc:catch varJSP....
/c:catch
JSTL的常用标签
jstl中的核心标签库core当中有哪些常用的标签呢 c:if c:if testboolean类型支持EL表达式/c: if c:forEach c:forEach items集合支持EL表达式 var集合中的元素 varStatus元素状态对象 ${元素状态对象.count} /c: forEach c:forEach vari begin1 end10 step2 ${i} /c: forEach c:choose c:when c:otherwise
c:choosec:when test${param.age 18}青少年/c:whenc:when test${param.age 35}青年/c:whenc:when test${param.age 55}中年/c:whenc:otherwise老年/c:otherwise
/c:choose