jstl标签库讲解

Java Web开发的JSTL与EL标签库实战 JSTL的核心标签库是JSTL中最为常用的部分,它提供了一组标准的标签用来处理常见的任务,如遍历集合、条件判断、URL处理等。核心标签库的使用极大地简化了JSP页面的代码,提升了页面的可读性和维护性。以上代码片段展示了核心标签库中的标签,用于遍历一个列表并输出每个元素的名称。其中,prefix属性定义了一个前缀,用于在页面中引用标签库中的标签;uri属性指定了标签库的位置,而是实际的遍历标签。 阅读详情

jstl标签库的配置

 

  * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果单纯的使用EL表达式,不用拷贝这两个jar)

 

  注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行(因为jstl和EL表达式结合使用的),如果容器版本低于2.4那么标签的配置要在web.xml中配置(EL表达式用于去scope中的值,jstl只是将EL表达式的值显示出来)

 

 

<c:out>讲解:

 

      后台:

            request.setAttribute("hello","hello JSTL");

            request.setAttribute("aa","<font color="red">welcome</font>");

 

      前台:

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

 

            <c:out value="hello" />                    //输出  hello

           

            <c:out value="${hello}" />              //输出  hello JSTL        一般是如果取到空值时,我们想给一个默认值时,使用此种方式

           

            <c:out value="${hello}" default="123" />

            <c:out value="${hello}">123</c:out>               //与上句相同效果

             

            ${hello}                                          //输出  hello JSTL        一般用此种方式,简洁

          

            <c:out value="${aa}" />                                         //输出   <font color="red">welcome</font>

            <c:out value="${aa}" escapeXml="false" />           //输出   字体为红色的  welcome      escapeXml 的值默认为true

             ${aa}                                                                      //输出   字体为红色的  welcome 

 

<c:set>讲解:

            <c:set> 设置的功能很强大,它的设置是有范围的,默认是当前page [scope="{page|request|session|application}"]

            后台:

 

            前台:

                 <c:set name="temp" value="123" />          //默认设置到范围为page

                 temp: ${temp}                                            //输出  123

                 <c:remove var="temp" />                            //移处属性temp的值

 

<c:if>讲解:

             后台:

                  request.setAttribute("v1",1);

                  request.setAttribute("v2",2);

                  request.setAttribute("v3",new ArrayList());

 

             前台:

                   <c:if test="${v1 lt v2}" var="v">                         //将v1和v2比较的结果放入变量v中

                            v=${v}                                                         //结果输出   v=true

                   </c:if>

 

                   <c:if test="${empty v3}">                         

                            v3为空                                                         //结果输出   v3为空

                   </c:if>

 

注意,标签中的if else 由 <c:choose><c:when><c:otherwise>标签共同来完成

 

 <c:forEach>讲解:

 

           后台:

                       ArrayList userList = new ArrayList();

                       userList.add(user);

                       request.setAttribute("list",userList);

 

                       Map map = new HashMap();

                       map.put("k1","v1");

                       map.put("k2","v2");

                       request.setAttribute("mapValue",map);

 

           前台:(所有记录输出)

 

              <c:choose>

                    <c:when test="${empty list}">

                            没有数据

                    </c:when>

                    <c:otherwise>

                            <c:forEach items="${list}" var="user" varStatus="vs">

                                   <c:when test="${vs.count % 2== 0}">

                                                <tr bgcolor="red">

                                   </c:when>

                                   <c:otherwise>

                                                 <tr>

                                   </c:otherwise>

                            </c:forEach>

                    </c:otherwise>

              </c:choose>

 

----------------------------------------------------------------------------------------------------

部分记录输出

 

 

              <c:choose>

                    <c:when test="${empty list}">

                            没有数据

                    </c:when>

                    <c:otherwise>

                            <c:forEach items="${list}" var="user" begin="2" end="8" step="2">   //即:从记录二开始输入(容器中的记录是从0开始的,其实我们真是看到的是第三条记录开始的),到记录八停止,中间输出的步长为二,即:输出记录2、4、6、8,步长默认为1

                                   <c:when test="${vs.count % 2== 0}">

                                                <tr bgcolor="red">

                                   </c:when>

                                   <c:otherwise>

                                                 <tr>

                                   </c:otherwise>

                            </c:forEach>

                    </c:otherwise>

              </c:choose>

 

--------------------------------------------------------------------------------------------------------

普通输出

 

       <c:forEach begin="1" end="10">

             a<br>                                                         //输出10行a

        </c:forEach>

 

 

---------------------------------------------------------------------------------------------------------

输出map中的值

 

<c:forEach  items="${mapValue}" var="v">           //此时的 v 为 Entry 对象

       ${v.key} = ${v.value}

</c:forEach>

 

结果:

      k1=v1

      k2=v2

 

 

 

<c:forTokens>标签讲解:

        

          此标签用于输出逗号表达式,或其他分隔符间隔的表达式,与java中的 StringTokenizer 对象类似

 

后台:

          

   request.setAttribute("str","1,2,3,4,5,6");

 

前台:

 

   <c:forTokens  items="${str}"  var="s"  delims=",">

         ${s}

   </c:forTokens>

输出

1

2

3

4

5

6

 

<c:catch>标签介绍:

    相当于我们java中的catch

 

前台:

 

用jstl标签之前的代码

 

      <%

try{

    Integer.parseInt("sdfsdfds");

}catch{

.....

}          

       %>

 

 

 

用jstl标签后的代码

 

<c:catch  var="exinfo">              //var中存放抛出的异常信息

       <%

                Integer.parseInt("sdfsdfds");

       %>

</c:catch>

 

${exinfo}

 

结果:

java.lang.NumberFormatException:For input string :"sdfsdfds"

 

 

<c:import>标签详解:

 

          相当于include,用于引入页面

        例如:

              <c:import url=http://localhost:8080/login />

 

<c:url>和<c:param>标签详解:

          <c:url>用于生成一个url,而如果我们需要在url后面附加参数时则可以使用,<c:param>标签

 

例如:

      <c:url value=http://localhost:8080/jstlDemo/addUser.jsp  var="v">

           <c:param name="userName" value="jack" />

           <c:param name="age" value="15" />

      <c:url>

 

       输出:

             ${v}

 

       结果:

             http://localhost:8080/jstlDemo/addUser.jsp?userName=jack&age=15

 

<c:redirect>标签讲解:

          重定向标签

          <c:redirect  context="/login.do"  url=""></c:redirect>         //如果我们要访问的是同一个web server下的资源则用context参数,写上相对路径或者服务就可以了,如果不在同一个web server下,即:跨系统访问,则使用参数url,写上完整路径,url也可以用在同一个web server 地下。

 

手把手教你用Qt和DSP28335实现串口Bootloader,附赠源码和避坑指南 本文详细介绍了如何使用Qt和DSP28335实现串口Bootloader,包括开发环境搭建、通信协议设计、Qt上位机开发、DSP端Bootloader核心实现以及应用程序工程的特殊配置。通过实战案例和源码分享,帮助开发者快速掌握嵌入式固件升级技术,提升工业设备远程升级的效率和可靠性。 阅读详情

相关推荐

RTKLIB PPP与RTK_POST精密定位实战:从实时到事后处理的完整流程解析

本文详细解析了如何使用RTKLIB进行精密单点定位(PPP)的完整流程,涵盖从实时处理到事后处理(RTK_POST)的关键步骤。文章深入探讨了数据准备、软件配置、核心参数设置(如电离层、对流层、潮汐改正)以及常见问题排查,旨在帮助用户掌握高精度GNSS定位技术,实现从入门到精通的实战应用。

weixin_29047919的博客 279

"/WEB-INF/c.tld" not found解决方法

把web.xml中配置的taglib删除即可。使用JSTL只需要将两个包复制进WEB-INF/lib,然后在jsp中引入&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;再然后使用就行了&lt;c:out value="Hello JSTL!"/&gt;...

zhengzhaosheng的博客 6701

雪亮工程视频联网技术详解:视综平台主流接入方式与协议分析

随着雪亮工程建设的深入,视频资源的汇聚与共享成为核心需求。本文简要剖析了雪亮视综平台下的视频联网接入技术,重点讲解了主流接入方式的区别与选型,并深入探讨了平台内部及跨平台的视频资源共享机制(含级联与推送模式),旨在为安防开发人员和系统集成商提供清晰的架构思路与技术参考。

lsz152590的博客 718

JSTL-core核心标签库源代码及讲解

Core 标签库 一、通用标签: 1、标签 String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

雪狼小记 4213

Oracle 11g R2 RAC 到单实例 Data Guard 搭建(RMAN备份方式)

Oracle RAC集群到单机的dataguard搭建过程

驰兔的博客 1722

解锁RK3588 HDMI输出:分辨率与EDID的深度探索

本文详细探讨了瑞芯微RK3588处理器的HDMI输出分辨率配置与EDID解析技术。文章首先介绍了RK3588处理器的性能特点及其HDMI功能在多媒体和工业领域的应用价值,随后分别阐述了HDMI输出分辨率的硬件连接要求和软件配置方法,包括4K/8K等不同分辨率的配置实例。在EDID部分,深入解析了EDID的数据结构、交互机制,以及数据获取与修改的具体方法。最后总结了配置过程中常见问题的解决方案,并展望了RK3588在高分辨率显示领域的发展前景。全文为开发者提供了RK3588 HDMI显示配置的完整技术指南。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 592

JSTL核心标签库

这里主要记录的是JSTL中的一个核心标签库(core),并且简单的讲解几个标签的用法。 Java Server Pages 标准标签库(JSTL)包含的各种标签用于JSP页面中。 JSTL 的优点: 提供一组标准标签 可用于编写各种动态 JSP 页面 用于访问数据库、有条件地执行代码和支持国际化 JSTL的组成: 功能范围 URI ...

小白学编程 753

【施磊】C++课程笔记目录

【C++编程】施磊老师C++笔记目录

GeniusAng的博客 4122

EL表达式及JSTL标签库讲解

1、EL简介 expression language,即表达式语言,简称EL表达式,主要是用来获取各种来源的数据,可操作常量,变量,隐含对象。它借鉴了JavaScript多类型转换无关性的特点!在使用EL从scope中得到参数时可以自动转换类型,因此对于类型的限制更加宽松! 1)语法结构     ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。

trialwalker的专栏 897

车载以太网-ARP 动态 静态

车载以太网-ARP 动态 静态

天赐好车的博客 409

YOLOv8改进策略【Neck】| CVPR 2024 MFM(Modulation Fusion Module,调制融合模块):动态特征加权融合,突出关键特征抑制冗余

本文主要利用DCMPNet中的 MFM 模块优化 YOLOv8 的目标检测网络模型。模块通过动态调制特征融合过程,实现了对多尺度、跨层级特征的智能聚合。将其应用于的改进过程中,针对目标检测中边界特征与语义信息的互补性需求,缓解网络中浅层细节与深层语义融合不足的问题。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image Dehazing在图像去雾网络中,不同层级和类型的特征包含着互补的信息(如浅层的

Limiiiing的博客 351

JSTL标签库

<br />JSTL(JSP Standard Tag  Library)是JSP的标准标签库的简称,分为5类。即JSTL核心标签库、数据库标签库、I18N格式化标签库、XML标签库和JSTL函数标签库。<br />JSTL核心标签<br />在JSP页面中要使用格式化标签,必须使用<%@  prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><br />Prefix前缀  uri核心标签库的位置<br /><c:set>标签 能方便定义变量<br /><

Java-Bobby的专栏 902

基于DSIFT多尺度图像融合的MATLAB代码

多尺度图像融合是一种常用的图像处理技术,它可以将具有不同尺度和空间频率特征的图像融合成一幅更具信息丰富度和视觉效果的图像。DSIFT算法是一种基于SIFT算法的改进版本,它在提取图像特征时采用了密集采样的方法,能够有效地提取图像的局部特征。多尺度图像融合基于DSIFT算法的思想,通过在不同尺度下提取图像的DSIFT特征,并将这些特征进行融合,得到最终的融合图像。然后,通过DSIFT算法提取了两幅图像的特征。通过运行上述代码,我们可以在MATLAB中实现基于DSIFT多尺度图像融合的算法,并观察到融合结果。

IELLQUI9的博客 181

JSTL标签及核心标签库

使用JSTL,可以像EL表达式那样不用编写Java代码就能开发出复杂的JSP页面。JSTL一般要结合EL表达式一起使用。 使用JSTL标签库之前,就必须在Wed项目的lib目录中加入两个jar包:jstl.jar和standard.jar,然后再在需要使用JSTL的JSP页面,加入支持JSTL的taglib指令,如下: &lt;%@ taglib uri="http://java.sun.co...

weixin_42044486的博客 772

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jsp中导入jsf标签库_jsp引用JSTL核心标签库

一、引用JSTL1、 JSTL的引入可以让JSP代码中等代码消失掉,再结合EL表达式,会更加方便以及美观。2、 各套框架(还没有学习,比如struts,SpringMVC等)都有自己的标签库,这时JSTL可以作为公共、通用的,横行于各框架中。操作:第一步:下载JSTL包第二步,新建一个jsp页面JSTl基本应用:1.核心标签库:包括基本的语言功能,变量操作,流程控制等等。2.国际化和格式化标签...

weixin_29997657的博客 479

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jsp引用JSTL核心标签库

一、引用JSTL 1、 JSTL的引入可以让JSP代码中<%%>等代码消失掉,再结合EL表达式,会更加方便以及美观。 2、 各套框架(还没有学习,比如struts,SpringMVC等)都有自己的标签库,这时JSTL可以作为公共、通用的,横行于各框架中。     操作:       第一步:下载JSTL包         下载地址:http://tomcat.a...

anhuang2806的博客 492

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JavaWeb——JSTL标签库

目录1. 定义2. 使用方法3. JSTL优点4. JSTL常用标签4.1 set4.2 out4.3 remove4.4 catch4.5 条件标签 if choose4.6 迭代标签 forEach 1. 定义 JSTL(JSP Standard Tag Library):JSP标准标签库,JSP为开发者提供的一系列的标签,使用这些标签可以完成一些逻辑处理,比如循环遍历集合,让代码更加简洁,不再出现JSP脚本穿插的情况。 实际开发中EL和JSTL结合起来使用,JSTL侧重于逻辑处理,EL负责展示数据。

weixin_43820008的博客 801

一篇文章带你了解JSTL标签库

JSTL标签库 JSTL标签库概述 1.目标 掌握什么是JSTL标签库 2.讲解 2.1 什么是JSTL标签库 ​ JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。这个JSTL标签库没有集成到JSP的, 要使用的话, 需要导jar包. 2.2 JSTL标签库的作用 ​ 为了简化在jsp页面上操作数据; eg: 遍历数据 判断数据等 2.3 JSTL标签库的类别 标签库功能描述

LinKin_Sheep的博客 315

JavaWeb---JSTL标签库(core标签库)

1,JSTL的介绍 JSTL是Apache对EL表达式的扩展,JSTL依赖EL表达式。它是标签语言,与JSP动作标签差不多,但是不能直接使用,需要导包(JSTL1.2.jar),以及制定标签库。 2,JSTL标签库(四大库) (1)core:核心标签库,重点! (2)fmt:格式化标签库,学习其中的两个标签。日期和数字的格式化。 (3)sql:数据库标签和XML:xml标签库不学了,过时

白夜行 876

JSTL标签库(一)

JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一定,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!

daimenglaoshi的博客 388

Core标签库详解

在 JSTL1.1中有以下这些标签库是被支持的: Core标签库、 XML processing标签库、 I18N formatting标签库、 Database access标签库、 Functions标签库。对应的标识符如下表: 序号 标签库 前缀 URI 1 Core标签库 c http://java.sun....

总有一天,你的日积月累,会成为别人的望尘莫及 1350

【JavaWeb】JSTL标签库

JSTL标签库 JSTL标准标签库; JSTL用于简化JSP开发,提高代码的可读性与可维护性; JSTL由SUN(Oracle)定义规范,由Apache Tomcat团队实现; 引用JSTL核心库 核心标签库(Core)是JSTL最重要的标签库,提供了JSTL的基础功能 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/js...

weixin_30877227的博客 93
上一篇: EL表达式讲解
下一篇: jstl 格式化时间日期标签讲解
java_min
博客等级 码龄18年 61粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值