jsp标签和el表达式

TL431过压保护电路实战:5.5V阈值设计全流程(附MOSFET选型建议) 本文详细介绍了基于TL431和MOSFET构建5.5V阈值过压保护电路的完整设计流程。内容涵盖核心原理、阈值计算、驱动电路设计,并重点针对大电流应用场景,提供了MOSFET选型与散热处理的实战建议,帮助工程师打造可靠高效的电源保护方案。 阅读详情

jsp标签和el表达式

1.jsp标签什么

sun公司指定的一种用来替换jsp中的jav代码的技术规范,jsp标签语法类似与html(有属性,有开始标签,结束标签,结束标记,有标签体)

优点:可易于维护,高复用,jsp页面简洁

2.表达式是什么

是一套简单的运算规则,用于给jsp标签的属性赋值,也可脱离jsp标签直接使用

3.如何写一个el表达式

方式一

${user.username}

执行过程--容器会pageContext,ServletContext,request,response依次查找绑定的沪剧的绑定值名是user的对象,找到后调用getUsername并且输出

指定查找的范围

可以使用pageContextScope,requestScope,responseScope,sessionScope来指定查找的范围,例如:usename:${sessionScope.user2.username}

方式二

${user['username']}

两个特殊用法:

[ ]里面允许出现绑定名,例如:${user[prop]}

[ ]里面允许出现从0开始的元素的下标的查找,例如:${user2.interets[0]}

3.做一些简单的运算

计算的结果可以给jsp赋值,也可直接输出

算术运算: +,-,*,/,%

逻辑运算: &&,|| ,!

关系运算:>,<,>=,<=,==,!=

empty运算: empty----用于判空(如果是空就返回true,不是空就返回false),特殊情况的true----找不到绑定名和直接null的时间也会是true

4.el表达式读取参数值

${param.username}等价与request.getParameter("username");

${paramValues.interset}等价与request.getParameterValues("interset");

5.jstl(java standard tag lib)标准标签库

1.jstl是什么--apache开发的一套jsp标签,后来捐献给了sun,sun将其命名为jstl(即标准标签库)

jsp标签的执行过程

容器依据别名(比如"c")找到对应的命名空间(比如

"http://java.sun.com/jsp/jstl/core"),然后依据命名空间找到jsp标签的描述文件(比如找到c.tld),接下来,就可以依据jsp标签名(比如"if")找到对应的标签类(比如"IfTag"),

最后调用该标签类的方法。

2.如何使用:导包-------使用taglib指令导入要使用的标签库

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

uri:指定标签的命名空间

prefix:命名空间的别名

<c:if test="${user.gender != 'm'}" var="" scope="">女</c:if>

var:指定绑定名

scope:指定查找域

4.几个核心的标签

1.if标签:<c:if test="">标签体</c:if>:当test的值为true时,容器会执行标签体的内容,test的属性可以使用el表达式赋值

2.choose标签: <c:choose>

      <c:when test=""></c:when>

      <c:otherwise></c:otherwise>

</c:choose>

when可以出现1此或者多次,相当于else if语句,当test属性时true的时间,执行标签体的内容,otherwise可出现0次或者1次,表示列外,最后一个值

3.<c:forEach items="" var="" varStatus=""></c:forEach>:用于编历集合或者数组

items:用于指定属性要遍历的集合或者数组,可以使用el表达式来赋值,也就是绑定名

var:用于指定绑定名:绑定范围是pageContext,该标签每次从集合或者数组元素中取一个元素,然后绑定到pageContext上

varStatus:用于绑定名,绑定的值是一个对象(方法有 count【数量】和index【下标】)

6.自定义标签(分为简单标签技术和复杂标签技术)

1.写一个java类,继承SimpleTagSupport类

package beanjstl;

 

import java.io.IOException;

 

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.PageContext;

import javax.servlet.jsp.tagext.SimpleTagSupport;

/**

 * 自定义标签

 * 继承SimpleTagSupport

 * 重写doTag方法

 * 标签有那些属性,标签类就有那些属性,属性名要一致,类型要匹配,并且有对用的set方法

 * @author soft01

 *

 */

public class HelloKity extends SimpleTagSupport{

public HelloKity() {

System.out.println("HelloKity的构造器");

}

private String info;

private int qty;

public void setInfo(String info) {

System.out.println("setinfo方法:"+info);

this.info = info;

}

public void setQty(int qty) {

System.out.println("setqty方法:"+qty);

this.qty = qty;

}

@Override

public void doTag() throws JspException, IOException {

System.out.println("doTag方法");

//通过继承SimpleTagSupport类提供的方法来获得pageContext对象

PageContext ptxt = (PageContext)getJspContext();

JspWriter out = ptxt.getOut();

for(int i=1;i<=qty;i++){

out.println(info+"<br/>\r\n");

}

}

}

2.ovrride doTag方法

@Override

public void doTag() throws JspException, IOException {

System.out.println("doTag方法");

//通过继承SimpleTagSupport类提供的方法来获得pageContext对象

PageContext ptxt = (PageContext)getJspContext();

JspWriter out = ptxt.getOut();

for(int i=1;i<=qty;i++){

out.println(info+"<br/>\r\n");

}

}

}

3.在.tld文件里面描述标签【后缀名必须是tld结尾的】

jsp页面的代码【

<%@ taglib uri="test" prefix="d"%>

<d:hello info="Hello Kitty" qty="${1 + 10}"/>

】

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"

    version="2.1">

  <description>JSTL 1.1 core library</description>

  <display-name>JSTL core</display-name>

  <tlib-version>1.1</tlib-version>

  <short-name>d</short-name>

  <uri>test</uri>  

    

    <tag>

    <description><!-- 描述这个标签是做什么的 -->

        Catches any Throwable that occurs in its body and optionally

        exposes it.

    </description>

    <name>hello</name><!-- d:hello -->

    <tag-class>beanjstl.HelloKity</tag-class><!-- 类的路径 -->

     <!-- body-content 标签体的内容  

     empty:该标签没有标签体

     scriptless:该标签有标签体,但是不能有java代码(<% %>,<%= %>,<%! %)

     JSP:该标签有标签体,标签体里面的内容可以是java代码,但是复杂标签技术才支持该值

     -->

    <body-content>empty</body-content>

    <attribute><!-- 属性描述 -->

        <description><!-- 属性的说明 -->

        </description>

        <name>info</name><!-- 属性名 -->

        <required>true</required><!--true代表必须赋值-->

        <rtexprvalue>true</rtexprvalue><!-- true代表这个属性可以动态赋值,动态赋值就是可以使用el表达式赋值 -->

    </attribute>

    

     <attribute><!-- 属性描述 -->

        <description><!-- 属性的说明 -->

        </description>

        <name>qty</name><!-- 属性名 -->

        <required>true</required><!--true代表必须赋值-->

        <rtexprvalue>true</rtexprvalue><!-- true代表这个属性可以动态赋值,动态赋值就是可以使用el表达式赋值 -->

    </attribute>

  </tag>

</taglib>

4.标签的执行过程

容器依据标签的命名空间找到标签的描述文件,接下来依据标签的名称找到对应的标签类,然后将该类实例化,然后调用该标签类的set方法完成属性的赋值操作,最后调用标签类的doTag方法。

IEC 62061 总结与适用范围 IEC 62061 是国际电工委员会(IEC)制定的。 阅读详情

相关推荐

RYU+Mininet的SDN架构-设计校园网络(一)

现有一个中学,需要设计一个中小型网络满足学校的网络需求。学校有教学区,实验室区域和服务器区域。教学区为了满足接入的灵活性和信号强度要求,需要满足设计WIFI满足日常教室和同学需求,接入上限为200人。实验室区域需要有一台教师主机方便管理实验室其余电脑,并且教师主机可以访问学校服务器,方便为同学们实验室授课。学校服务器区域设有学校相关重要文件和学校网页相关内容。最后学校还会接入互联网。

weixin_53284122的博客 8035

jsp指令&EL表达式&Jstl标签

JSTL是Jsp 标准标签库(Jsp Standard Tag Library),是由Apache组织提供的开源的jsp标签库。在使用的页面中通过导入标签库。:Expression Language,它是可以在JSP页面中直接使用的语言。:它可以从jsp的域对象中获取数据,简化java脚本,还可以执行一些简单的计算。JSTL标准标签库有5个子库,但随着发展,目前常使用的是它的核心库 core。,它的范围是当前页面。

weixin_43473236的博客 228

VisDrone2019数据集实战:从下载到YOLO格式转换的完整指南

本文提供了一份完整的VisDrone2019数据集实战指南,详细介绍了从数据集下载、理解其独特的标注格式,到转换为YOLO模型可直接训练格式的全过程。通过清晰的代码示例和步骤讲解,帮助读者掌握处理复杂无人机视觉数据集的核心技能,为基于YOLO的目标检测模型训练做好准备。

weixin_29165725的博客 385

速通JSP、EL表达式、JSTL标签

快速掌握老三件:JSP,EL,JSTL

不思量 328

Orbbec-Gemini-335 深度相机 Python SDK 编译与配置全记录(Windows 环境)

本篇博客将围绕 Windows 系统下 Orbbec SDK 的 Python 配置与编译过程进行详细说明,主要使用的是官方提供的 pyorbbecsdk Python wrapper 项目以及 Orbbec SDK V2 Python Wrapper 配置指南,并记录了安装与配置过程中遇到的若干问题及解决办法。

Junseer的博客 1969

使用海康机器人的SDK进行DWS开发时如何筛选不同类型的相机

使用MVIDCodeReader、MvCodeReaderSDK、MvVolMeasureSDK联合开发时,通常会做一些设备枚举列表,但是不同类型的设备需要枚举在不同的列表中,便于软件使用者配置参数,例如: 如何保证枚举出来的设备是可以选择的对应的设备。我们通常枚举出来的是这样的: 解决办法 在联合开发中,我们发现,只有MvVolMeasureSDK的枚举设备接口EnumStereoCamEx可以正确的只枚举出网络内的体积设备,其余的MVIDCodeReader、MvCodeReaderS

qq_29123967的博客 2733

JSP的EL表达式

文章目录一、EL表达式(Expression Language)二、EL语法(1)访问Bean属性 – 一、EL表达式(Expression Language) EL表达式是从JavaScript脚本语言中获得启发,是一种表达式语言。借鉴了JavasScript多类型转换无关性的特点。 EL表达式使用简单的标签来表现复杂的逻辑,使用简单的形式表现运算的关系。可以使JSP写起来更加简单。 可以将用户...

匿名攻城狮 2238

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG

RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。

2548

JSP之EL表达式

EL表达式在哪里使用,是做什么的? jsp页面中有那么多标签,为什么还使用EL表达式? EL表达式语法 EL内置对象

智庵的博客 1171

树莓派4B串口舵机控制全攻略:从pigpio库安装到Python脚本调试

本文详细介绍了如何在树莓派4B上通过pigpio库和Python脚本实现串口舵机的精确控制。从硬件串口配置、pigpio库安装到舵机通信协议解析和Python脚本开发,提供了完整的解决方案和调试技巧,适用于机械臂控制等实际项目应用。

k8s6orchestrator的博客 431

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

a_zxswer的博客 193

08JSP的EL表达式入门案例01

在EL表达式使用之前,对数据的操作比较繁琐,如下面代码,在显示用户数据的时候,使用jsp脚本代码赋值的时候编写代码复杂,如果数据量过多的时候,会导致工作量剧增。这也是为什么后期使用EL表达式的原因。 <%@ page import="java.util.Date" %> <%@ page import="com.hwadee.entity.User" %> <%@ page import="java.util.ArrayList" %> <%@ page con

qq_41946216的博客 378

2025年09月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析

2025年09月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析

伶俐角少儿编程 642

Jsp和EL表达式及JSTL标签的使用

本篇介绍了Java Web阶段首先需要掌握的几大知识点,包括了jsp语法,EL表达式及JSTL标签的使用

Bennett的博客 2566

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

JSP标签库和EL表达式

JSP标签库

an_gentle_killer的博客 232

深度学习工具包 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标签和EL表达式

一、JSP     1.jsp技术         jsp是sun提供动态web资源开发技术。为了解决在Servlet中拼写html内容css、js内容十分不方便的问题,sun提供了这样一门技术。如果说Servlet是在java中嵌套HTML,则jsp就是在HTML中嵌套java代码,从而十分便于组织html页面                  jsp页面在第一次被访问到时会被jsp翻译

z_fishLong的博客 1775

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JSP中EL表达式和JSTL标签库的使用

JSP动态网页的介绍,EL表达式和JSTL标签库的使用。

AtlantisChina 1777

JSP标签和el表达式

jsp标签是什么? 语法类似于html标签(开始标记、结束标签、有一些属性、有标签体内容),用于替代jsp中的java代码。 注: 因为直接在jsp当中写java代码,不利于页面的维护(比如,美工去修改带有java代码的jsp就很不方便),所以,sun才推出了jsp标签技术规范。使用jsp标签来代替java代码,jsp文件会变得简洁,利于页面的维护,并且也利于代码的复用。 el表达式是什么? ...

zhyue28的博客 662

【JavaWeb】JSP进阶:EL表达式和JSTL标签

本文主要内容:1.EL表达式;2.JSTL:JSP标准标签库 本文目录写在前面一.EL表达式1.概念2.作用3.语法4.注意事项5.EL表达式使用5.1 运算5.2 获取值5.3 获取对象、List集合、Map集合的值5.4 使用隐式对象二.JSTL标准标签库1.概念2.作用3.使用步骤4.常用的JSTL标签5.练习 写在前面 JSTL仅是JSP表达式语言,而EL既是HTML也是JSP表达式语言,全称是Expression Language。 在JavaScript中也可以使用EL表达式。 JSP的代码

算法工程师dongab的博客 2118

jsp jstl标签和el表达式的用法及区别

对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段。所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作;它不是编程语言,甚至不是脚本编制语言。通常与 JSTL ...

mxsf_lrj的博客 1939

JSP的标签技术(EL表达式和JSTL)

JSP的标签技术 1. 背景 Sun公司推出了自定义标签技术,用于替代JSP中的Java代码 apche推出了一套标准标签 Sun公司在JSP的更新中引入标准标签 2. EL和JSTL EL表达式语言,替代JSP表达式 <%= %> JSTL(JSP标准标签库),替代 <% %> 2. EL(表达式语言,EL表达式) 用于替代JSP中的JSP表达式 &...

SileeLiu的博客 1761

JSP页面 中 c:if 标签 JSTL标签库和EL表达式

本文借鉴地址:https://blog.youkuaiyun.com/sinat_28978689/article/details/79381947 正文: c:if 标签 是属于 JSTL中的一个标签 ,那么JSTL又是什么呢? JSTL简介: apache开发的一套jsp标签,JSTL(jsp standard tag lib )是jsp标准标签库,按照类别包括核心标签,格式化标签,JSTL...

yangniceyangyang的博客 4650

JSP、EL表达式和JSTL标签库

JavaWeb一、JSP1.1 概念:1.2 JSP的原理1.3 JSP指令1.4 JSP的脚本1.5 注释1.6 JSP的内置对象1.7 案例1.7.1 改造Cookie案例二、EL三、JSTL四、MVC和三层架构4.1 MVC开发模式4.2 三层架构 一、JSP 1.1 概念: Java Server Pages: Java服务器端页面 可以理解为:一个特殊的页面,其中既可以指定定义HTML标签,又可以定义Java代码 用于简化书写!!! JSP演变历史: 1、早期只有servlet,只能

璃尔 ° 的博客 528

EL表达式和JSTL标签(含部分JSP)

EL(Expression Language)是一种表达式语言,用于简化JSP页面中的数据访问和表达式操作。它类似于JSP中的<%=…%>表达式,但更加简洁和强大。JSTL(JSP Standard Tag Library)是一个标准的标签库,用于简化JSP页面的开发。它提供了迭代、条件判断、数据格式化、XML操作和数据库访问等功能。使用JSTL需要导入相应的标签库。

m0_74977981的博客 1096

JSP和Java代码的友好结合 之 EL表达式&JSTL标签

EL表达式 为什么要使用EL表达式? JSP页面中既可以写HTML、JavaScript、CSS等前端代码,同时也可以书写Java代码。 …… 但是由于一个页面既有大量的前端代码,又有大量的逻辑代码,看起来十分复杂和混乱。给前端工程师和后端工程师的维护带来了极大的不便。 …… 在MVC模式中也提到,视图和业务逻辑代码应该分开。JSP只是视图,视图的任务就是显示响应,而不是在JSP中做任何关于程序控制和业务逻辑的事情。所以在JSP页面中应该尽可能少的、或者是完全不出现Java代码。 …… 于是,EL表达

m0_47934286的博客 904

JavaWeb:理解JSP以及原理,能在JSP中使用 EL表达式和JSTL标签

从JSP简单的入门到底层原理,以及实战部分包括了在JSP当中使用EL表达式和JSTL标签。本文全程高能干货,万字教程带你学习JSP;

黑马程序员官方博客 641
上一篇: maven管理技术
下一篇: java基础面试题
青蓝色的伤痕
博客等级 码龄10年 19粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值