Servlet el jstl

全面掌握JavaWeb开发:Servlet、JSP、EL、JSTL、Filter与Listener 本文还有配套的精品资源,点击获取 简介:JavaWeb技术是构建基于Java平台的动态Web应用程序的关键框架,涵盖Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器和Listener监听器等组件。本课程将深入讲解这些组件的原理与应用,帮助开发者在实践中构建高效、健壮的Web应用。课程内容包括Servlet的生命周期和请求处理、JSP技术实现视图层与逻辑... 阅读详情
    1.  请求流程

http://localhost:8080/Servlet_01/hello

当客户端浏览器发送请求 的时候

通过 localhost可以找到当前电脑

:8080 就找到 tomcat的webapps

Servlet_01 就是我们要执行的项目

/hello 就是我们要请求的servlet_01项目中的功能

此时 /hello就会去和Servlet_01项目中 的web.xml中定义的路由进行匹配(或者是注解定义的路由)

找到这个对应的类之后,就会去执行该类中的init方法,service方法等

或者是根据注解方式的路由 就可以执行定位到类

  1.  跳转
    1.  请求转发

只会发送一条请求

只发送一条请求,地址栏不变,还是index,客户端无感知跳转

因为只发送了一条请求,所以request中数据共享

适合向页面传递数据,比如数据展示,可以通过后端把数据获取,然后设置到request中

并转发到对应的jsp页面,在jsp页面进行操作

 

可以看到 地址栏请求的还是/a/b/c 但是 页面却是其他页面(发生了转发)

并且在该页面中,可以获取request设置的数据 张三

    1. 重定向

     

 

重定向跳转 客户端发送两条请求,地址栏变为login

并且 request数据不共享,适合做普通的页面跳转

通过测试发现 重定向跳转 会发送两条请求

而地址栏 也是最后一个请求,并且request数据不共享,所以不能做数据传递

  1. JSP内置对象

不用创建,直接使用

 

 

本质 就是service方法中的局部变量

Request  请求对象

Response 响应 对象

Session  会话

Out  输出流,用于向页面打印

Application  servletContext 全局环境

Config    servletConfig

  1. EL表达式
    1.  概述

EL表达式 主要用于获取数据 等于 request.getAttribute(“xxxx”)

    1.  为什么使用EL表达式

MVC应该是轻量级的框架,但是在JSP中 通过 <%%> 这种写法,功能太强,不符合MVC设计理念

甚至你可以直接把操作数据库的JDBC代码在JSP中编写,完全脱离了后端java类

所以 为了尽可能的在视图层出现java逻辑代码,提出了EL表达式和JSTL

    1.  语法

${xxx}  等于 request.getAttribute(“xxx”)  这两句话是等价的

可以通过\ 忽略el表达式

  1.  JSTL表达式
    1.  概述

JSTL : JSP Standard Tag Library  JSP标准标签库

使用JSTL必须先导入对应的jar包

    1.  为什么用JSTL

上述我们分析了JSP带来的问题及解决方案

但是EL表达式只能解决数据获取的问题,比如用户列表等循环遍历操作或者是流程控制操作

EL表达式是做不到的,此时就需要依赖JSTL完成这件事.但是JSTL不能获取数据

所以 一般EL表达式会和JSTL一起使用,功能才更加强大

最初的设计目的是解决两个问题,

1 上述分析的问题,不符合MVC模式

2 写JSP的人,应该是前端或者是美工,不需要有java编程基础

简单来说 它们就是用来简化JSP中的java代码的,使JSP代码更简短美观

    1.  标签库

1 核心标签库 : 最常用的部分,比如流程判断,循环遍历等

2 I18N 格式标签库 : 对数据显示进行格式化,比如时间格式化,数字格式化

核心标签库

 

      1. 循环结构

 

后端已经传递了一个集合数据

分支结构

格式化I18N标签库

 

 

 

 

 

 

 

 

 

 

 

 

EL表达式和jsp JSTL标签库的总结 EL表达式使用方法总结以及显示结果,jstl标签库使用方法总结以及显示结果。 立即下载

相关推荐

手把手教你用RoboTwin训练RDT模型:从环境配置到实战微调(避坑指南)

本文提供了一份详尽的避坑指南,手把手教你如何在RoboTwin开源仿真环境中,从零开始配置环境、采集数据并完成RDT视觉语言动作模型的实战微调。文章涵盖了环境搭建、数据流水线构建、模型配置与训练等关键步骤,旨在帮助研究者和开发者高效利用仿真数据,低成本探索具身智能应用。

weixin_29094979的博客 132

EL表达式隐式对象

EL表达式隐式对象 – 不需要创建,直接使用 对象名称 说明 pageScope 返回页面范围的变量名,这些名称已映射至相应的值 requestScope 返回请求范围的变量名,这些名称已映射至相应的值 sessionScope 返回会话范围的变量名,这些名称已映射至相应的值 applicationScope 返回应用范围内的变量,并将变量名映射至相应的值

Spectre_Host 593

告别130MB/s瓶颈!用Zynq+NVMe实现1.2GB/s高速存储的PL数据分流实战

本文详细介绍了如何通过Zynq+NVMe实现1.2GB/s高速存储的PL数据分流方案,突破传统Zynq架构130MB/s的瓶颈。文章分享了PL直连NVMe的硬件架构设计、软件栈优化及性能调优实战技巧,帮助开发者实现高速数据流的稳定存储。

weixin_42653691的博客 372

浅谈EL表达式和JSTL常用标签

浅谈EL表达式和JSTL常用标签

weixin_47268883的博客 458

MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源

单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。

m0_37724753的博客 4230

CCS安装教程图解说明:可视化步骤快速上手

通过清晰的图解步骤详解CCS安装过程,帮助新手快速掌握环境搭建。结合ccs安装教程与实际操作界面,每一步都直观易懂,大幅降低学习门槛,提升配置效率。

weixin_42611310的博客 963

JavaWeb之EL表达式&JSTL标签02

EL 表达式 什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language。是表达式语言。 EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。 因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。 EL 表达式的格式是: ${表达式} EL 表达式在输出 null 值的时候,输出的是空串。jsp 表达式脚本输出 null 值的时候,输出的是 nu..

无区新手的博客 367

声纹识别初学

最近开始关注声纹识别技术,发现国内做这个的确实没有几家,而且大多重点推声纹认证,用在公安司法金融领域,而我却关注文本无关的声纹识别,这里把我搜到的一点资料汇总在此. 发现njustzj001的专栏有两篇文章适合入门的我,贴下链接: 综述:  http://blog.youkuaiyun.com/xmu_jupiter/article/details/47209961 PLDA解释:  http://

u013452331的专栏 2758

EL表达式JSTL标签

EL表达式&JSTL标签&JSP域对象

weixin_67235801的博客 413

Yolo11改进:Block改进|MixDehazeNet,用于图像去雾网络的混合结构块|即插即用|附代码

https://arxiv.org/pdf/2305.17654 图像去雾是低级视觉领域中的一项典型任务。先前的研究验证了大型卷积核和注意力机制在去雾中的有效性。然而,存在两个缺点:引入大型卷积核时容易忽略图像的多尺度特性,而注意力模块的标准串联方式没有充分考虑雾分布的不均匀性。在本文中,我们提出了一种名为混合结构图像去雾网络(MixDehazeNet)的新型框架,该框架解决了上述两个问题。具体而言,它主要由两部分组成:多尺度并行大型卷积核模块和增强并行注意力模块。与单个大型卷积核相比,多尺度的并行大型卷积

m0_47867638的博客 1273

Luma AI技术浅析(一)

是一款基于人工智能的3D内容生成平台,旨在通过深度学习技术实现高效、高质量的3D场景、物体和动画的生成。Luma AI 主要利用了等技术,以实现从图像、视频到3D模型的转换和生成。

m0_75253143的博客 1728

JSTL核心标签超详细

1.JSTL介绍 JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个JSP标签集合,它封装了JSP应用的通用核心功能。 JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。 2.JSTL的使用及分类 要使用JSTL,首先...

秃头哥编程 2万+

把 NAST 变成你的遥控器:用 ABAP 程序精确触发与处理 Output Type

摘要 SAP中的Message Control机制通过NAST表记录输出状态,支持自动触发打印、邮件等操作。关键步骤包括: 构造NAST记录:定义输出类型、介质、处理状态等参数 调用处理函数:使用RV_MESSAGE_UPDATE_SINGLE更新表,通过WFMC_MESSAGES_PROCESS执行输出 典型应用场景: 单据补发(如PO邮件重发) 外部系统集成触发输出 故障恢复处理积压消息 注意事项: 需提交事务确保更新生效 区分S/4HANA新旧输出体系 正确处理派发时间(VSZTP)和状态(VSTAT

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 255

Servlet, JSP, JSTL, EL在maven中的配置

引言 本人在实际项目和各种框架中,发现Servlet, JSP, JSTL, EL在maven中依赖的写法种类非常多,可谓五花八门,为了搞明白不同的写法有何不同,花了些时间研究了下在maven的pom.xml中如何合理的加入Servlet, JSP, JSTL, EL的依赖,本文即是研究的结果。 为了说明清楚,首先简要的介绍下这几种组件,然后重点说明如何在maven中配置,内容分为几下几个部分: Servlet, JSP, JSTL, EL这些东西都是什么,做什么用的,之间有什么关系 这些东西...

Zen 2279

深度学习工具包 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")

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JavaWeb:Servlet与过滤器、EL与JSTL

servlet工作模式,jsp与servlet,过滤器,el表达式,jstl表达式,分页查询

蒸汽鸟的博客 2212

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

servlet,jsp,el,jstl

servlet就是JavaEE里的一些接口,通过实现这些接口和web页面去做一下交互,也可以写代码里写一些简单的html标签,写这些简单的html标签都比较麻烦;jsp就是为了更简化,方便的去操作java代码和html标签;el就是更方便的代替jsp取,定义在的值,原本得通过这样的标签取,一些复杂的还不容易取,el通过${}表达式 ,能更方便的取值,输出到页面;jstl就是更好的操作这里面的java代码,可以用一些方法,使这个jsp页面更...

weixin_58629963的博客 415

Servlet, JSP, JSTL, EL版本对应关系和依赖写法

Servlet, JSP, JSTL, EL在maven中依赖的写法种类非常多,可谓五花八门,为了搞明白不同的写法有何不同,花了些时间研究了下在maven的pom.xml中如何合理的加入Servlet, JSP, JSTL, EL的依赖。 这四个东西是什么 Servlet和JSP不必多说 JSTL叫做JSP标准标签库,它是一个JSP标签集合 EL表达式,主要用于替换JSP页面中的脚本...

村雨的博客 3654

Servlet-jsp进阶之EL与JSTL

文章目录Servlet-jsp进阶之EL与JSTL1 base标签1.1 作用1.2 用法2 MVC分层结构2.1 概述2.2 作用3 EL表达式3.1 作用3.2 jsp文件位置的影响3.3 语法3.4 取值的顺序3.5 EL获取集合和对象的数据4 JSTL4.1 作用4.2 流程4.2.1 在Maven中引入依赖4.2.2 页面头部加上相关标签4.3 条件渲染4.4 循环渲染4.5 数据格式化4.6 相关函数 Servlet-jsp进阶之EL与JSTL 1 base标签 1.1 作用 给url加上统一的

simple的博客 453

JSP、JSTL、EL、Servlet之间的关联

JSP具体是通过jsp脚本代码,将html与java代码混合在一起,实现动态页面的生成,JSP是Servlet的进化工具,对其定位落在了工具性质上。最初由Servlet来实现动态页面内容的实现,服务端通过维护成本极高的手动编写html标签返回给浏览器具体的html页面,用于根据request请求,通过Servlet处理返回html页面展示动态生成的内容UI。EL与JSTL,我认为总目标就是降低脚本代码,尽量使用标准的库和标签来代替JSP脚本,理想情况下达到无Java代码的状态,也能实现动态页面的呈现。

dongbaoming的博客 262

EL、JSTL、servlet

1.EL表达式的语法有两个要素:$和{},二者缺一不可 2.EL表达式具有类型无关性,可以使用“.”或者“[]”操作符在相应的作用域(page、request、session、application)中取得某个属性的值 3.JSTL核心标签库中常用的标签有三类:通用标签、条件标签、迭代标签 4.EL表达式与JSTL标签结合使用,可以在很大程度上减少JSP中嵌入的Java代码,有利

chi15733896278的博客 312

Jstl、el、jdbc、dbcp、servlet的CRUD示例

Jstl、el、jdbc、dbcp、servlet的CRUD示例1 目录结构及说明1.1   src 下有website项目目录用于存放模块单元1.2   action 目录用于存入servlet 接收与响应页面请求1.3   service 目录用于处理业务逻辑1.4   dao 目录用于执行操作数据库方法1.5   demo用于存放页面1.6   adddemo

沙振中 1790

Servlet--EL、JSTL

el、jstl

柿子的博客 122

使用JSP/Servlet开发系统——JSTL和EL

——————————————————————————————————————————————————————— EL表达式

qq_44658169的博客 468

使用Servlet+JSP+EL+JSTL来实现简易增删改查操作

使用Servlet+JSP+EL+JSTL来实现简易增删改查操作 以一个基本的User类为例,来通过Serlvet+JSP+EL+JSTL来实现一个基本的增删改查。其中我在备注中记录了改BUG过程中遇到的一些知识点和难题,并且记录了相应的解决方案。请读者多注意注意相应的代码备注。 JavaBean——User类 对于JavaBean的作用就不细谈了,简要的讲就是定义了一个抽象类(之前C#的学习过程中,经常称他为枚举类型,但其实和枚举还是有很大的差别的。)并且在之后的方法中对该类进行增删改查操作。 packa

平顶山吴彦祖河南省张信哲 2391

EL和JSTL标签库以及servlet 控制层

EL和JSTL标签库以及servlet 控制层

younger123rtyui9的博客 259
上一篇: servlet jsp
java_yangXL
博客等级 码龄5年 1粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值