(Struts2)结果页面的跳转

Struts2框架实战项目:深入理解与应用 本文还有配套的精品资源,点击获取 简介:Struts2是用于构建企业级Java Web应用程序的流行框架,提供了MVC设计模式的实现。本教程通过"struts2例子程序"帮助开发者掌握Struts2的核心概念、配置和使用方法。项目中包含了Struts2的基本结构、配置文件、Action类、结果配置、JSP页面、拦截器等关键组件。通过学习和实践"struts2demo",开发... 阅读详情

1、结果页面存在两种方式

     *   全局结果页面(result标签在global-result标签中)

          > 条件:如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面。

          > 全局结果页面针对当前包中所有的Action,但是如果有局部结果页面和全局结果页面,会优先局部的。

          > 代码如下:

<!-- 配置全局的结果页面 -->
<global-results>
	<result name="success">/demo1/suc.jsp</result>
</global-results>

    *   局部结果页面(result标签在action标签中)

<result name="success">/demo1/suc.jsp</result>


2、结果页面的类型

     *   结果页面使用<result>标签进行配置,包括两个属性

         > name           ---   逻辑视图的名称

         > type             ---   跳转的类型。结果类型可以在struts-default.xml中查看,常见的如下:

                · dispatcher  :转发,type的默认值. Action --> JSP

                · chain          :转发,多个action之间的跳转,从一个Action转发到另一个Action. Action --> Action

                · redirect      :重定向.  Action --> JSP

               · redirectAction:重定向,多个action之间的跳转,从一个Action重定向到另一个Action. Action --> Action

                · stream              :文件下载时使用


下一篇:Struts2框架的数据封装

Struts2简单的页面跳转示例 初学Struts2,写了一个简单的用struts2实现页面跳转的功能。高手勿喷 立即下载

相关推荐

EB Tresos激活失败?3种实用解决方案帮你搞定(含离线激活步骤)

本文针对EB Tresos软件激活失败问题,提供了三种实用的解决方案。详细分析了激活失败的常见根源,并系统阐述了在线环境下的排查步骤、无网环境下的离线激活全流程,以及高级许可证环境修复方法,帮助汽车电子工程师快速恢复开发环境。

milk8的博客 609

Struts2中的页面跳转

一、全局页面的设置 如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面。 全局结果页面针对的当前的包中的所有的Action,但是如果局部还有结果页面,会优先局部的。 设置全局页面的标签是 <global-results> ...

weixin_34365635的博客 326

信创环境下,软件测试如何破局?

毕竟,在自主可控的道路上,每一行通过测试的代码,都在为信创产业的未来添砖加瓦。未来,测试工程师不仅要验证软件在信创环境的可用性,更要基于国产软硬件的特性,推动软件进行 “原生设计”—— 例如,针对国产 CPU 的多核架构优化代码,基于国产数据库的索引机制提升查询效率。某政务云平台的测试数据显示,在 “飞腾芯片 + 麒麟操作系统” 环境下,系统的并发处理能力较传统环境下降约 15%,测试团队通过优化软件的线程调度逻辑,最终将性能损失控制在 5% 以内 —— 这正是信创性能测试的价值所在。

weixin_45608163的博客 886

struts2框架 - 跳转及相关内容

Mode12组件化特点明显,Servlet不承担显示任务,Jsp没有任何商业逻辑,彻底分离了Java程序开发者和网页制作者,让java程序员专注于Java程序代码的编写,而HTML设计人员专注于页面的表现。组件间通过接口连接,只要接口保持不变,任意一个组件发生改变,其他组件都不用随之改变,提高程序的可扩展性和可维护性。(2)跳转路径写死在程序里,一旦目的地地址发生改变,会导致程序的代码发生改变--硬编码。1、框架软件开发过程中的半成品,是对现有代码的合理封装,提高开发效率。2、写Action程序。...

XHW0901的博客 609

网易数智CoreAgent实战:5步教你打造企业级AI数字员工(附避坑指南)

本文以网易数智CoreAgent智能体协作中枢为核心,提供了一份企业级AI数字员工的实战部署指南。文章详细拆解了从环境准备、智能体配置、业务集成、安全合规到效果评估的五个关键步骤,并分享了部署过程中的常见“避坑”经验,旨在帮助企业技术团队高效、安全地将AI智能体落地于实际业务场景,解决AI落地难题。

rice5的博客 953

风力发电机并网模型建立及仿真验证

传统能源日益匮乏,环境污染日趋严重,全球向安全、可靠和环保的可持续能源体系转型迫在眉睫,风电迎来了重要的发展契机。近年来,全球风电迅猛发展,我国已成为世界风电新增装机容量第一的国家。然而,随着风电规模的不断增大,风电场接入对系统影响不容忽视。随着变速恒频风力发电系统优越的性能突出和大容量电力电子技术的成熟,风速随机性引起的功率波动及故障情况下的动态响应,对电能质量,系统电压、频率的稳定性产生的影响需要深入研究。因而,本文结合实际项目,针对变速恒频风力发电系统建模,端口动态特性及对电网电能质量、运行稳定性的影

毕业设计区博客 1639

Struts2页面跳转方式

1、    转发&lt;action name="helloAction"class="cn.hd.hello.HelloAction" method="hello"&gt;    &lt;!--    result        name  对应的是action类中的method的返回值              名字可以随便写,只要和action类中的返回值结果是一样的            ...

臆想的一只猫 7368

【异常】Cursor导入Karpathy指南失败解决方案Failed to import GitHub/GitLab rules: Error executing git: Cloning into

摘要:本文解决了Git克隆单个文件报错的问题,指出git clone只能克隆整个仓库而非单个文件。提供了两种解决方案:1) 推荐手动创建规则文件,在Cursor项目中新建.mdc文件并粘贴Karpathy行为指南完整内容;2) 备选克隆整个仓库获取文件。指南包含编码行为规范,强调简单性、精准修改和明确目标。还说明了如何设置全局规则和即时生效的方法。

奶爸的编程之路,也就一周冷个三天 174

struts2结果处理方式(结果跳转方式)

1.预热 1.什么叫重定向 服务端返回一个302 的状态码,和一个location的消息头,客户端收到302的状态码以后,立即按照location指定的地址发送请求的过程。  2.如何实现重定向 Response.sendRedirect(path); 3.什么时候使用重定向 一个操作完成以后,跳转到另一个功能的时候使用

heartAndthink的博客 3985

ROSTEA软件下载及情感分析详细操作教程(附网盘链接)

原ROST虚拟团队出品的ROST系列文本内容挖掘分析平台,是辅助人文社会科学研究的免费计算平台。该软件可以实现文本预处理、分字、分词、词性识别、特殊名词抽取、词频统计、英文词频统计、情感计算、分类算法、聚类算法等一系列文本挖掘,是人文社科研究和论文写作的一把利器。该软件用户量超过一万人,遍布海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学等众多高校。关于ROSTCM6的安装介绍可以参考之前的文章ROSTCM6软件下载及语义网络分析详细操作教程ROST EA。

m0_64336780的博客 1万+

基于STM32的智能鞋柜系统设计与实现

摘要:本文设计并实现了一种基于STM32F103C8T6单片机的智能鞋柜系统。该系统通过DHT11温湿度传感器、PM2.5粉尘传感器和MQ-135空气质量传感器构建多维度环境监测网络,结合光电红外传感器和光敏传感器实现柜门状态识别与智能照明。系统采用分层控制策略,当温度低于15℃或湿度高于65%时自动启动加热和通风,PM2.5超标时启动通风,污染物浓度升高时激活紫外线杀菌。创新性地实现了柜门状态与紫外线消毒的双保险互锁机制,确保使用安全。测试结果表明,系统温湿度控制精度达±0.4℃/±2.0%RH,PM2.

3254968421的博客 253

struts2页面跳转的方式

struts2页面跳转的方式①转发②重定向   转发到自己的action type变为chain &lt;result name="success" type="redirectAction"&gt;        &lt;param name="actionName"&gt;targetAction_login&lt;/param&gt;        &lt;param name=&amp

java初期 3477

YOLOv11与3D点云检测融合技术深度解析:从2D检测到三维空间投影的完整实现

2D-3D融合目标检测技术研究 本文系统阐述了基于YOLOv11的2D-3D目标检测融合技术,重点分析了YOLOv11在融合系统中的定位优势及其架构设计。研究表明,2D图像与3D点云数据具有显著的互补特性:2D图像提供丰富语义信息,而3D点云则精确描述几何结构。 关键技术要点: YOLOv11通过GSConv平衡卷积和VoVGSCS特征融合模块,在保持实时性的同时提升了检测精度 系统采用模块化设计,包含坐标投影、点云分割、边界框拟合等核心组件 针对点云数据的非均匀分布特性,提出了多尺度特征增强和距离差异化检

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1128

六、Struts2如何处理结果页面的跳转

结果页面的跳转是配置在struts.xml文件中的,配置后Struts2框架会根据响应类(Action)中的响应方法的返回值去配置文件中找到跳转的页面或者其他处理Action. 两种结果页的声明方式 1.全局结果页面 如果&amp;amp;lt;package&amp;amp;gt;包中的一些action都返回相同的结果,并且跳转的页面都是同一个JSP页面,这样就可以配置全局的结果页面。 全局结果页面针对的当前的包中的所有的Ac...

热爱不止,前行不息 792

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

struts2 要跳转到得页面是根据action处理结果的变量决定的

好久没用ssh都有些忘了, 现在有个需求是:  struts2 要跳转到得页面是根据action处理结果的变量决定的,如何跳到这个处理结果的地址,

github yx9o Apache RocketMQ & ShardingSphere Committer 1259

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

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

Struts2之结果页面的跳转

结果页面存在两种方式 全局结果页面 条件:如果&amp;amp;lt;package&amp;amp;gt;包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果类型 全局结果页面针对的当前的包中的所有的Action,但是如果局部还有结果页面,会优先局部的,使用的标签是: &amp;amp;lt;global-results&amp;amp;gt; &amp;amp;lt;result&amp;amp

u011301372的博客 283

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Struts2中技术分析之结果页面的跳转

1. 结果页面存在两种方式 * 全局结果页面 > 条件:如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面。 > 全局结果页面针对的当前的包中的所有的Action,但是如果局部还有结果页面,会优先局部的。使用的标签是 &lt...

weixin_30897233的博客 75

struts2 动态结果及以及带参数的结果集(redirect页面跳转时候使用)

动态结果集

千百度 987

struts2结果集原理和自定义结果集 如果result标签中写了其他内容该怎么写跳转页面

1.从上图可以看出,如果要定义结果集就必须实现Result接口。 2.如果要跳转到中定义的结果页面中,就需要继承StrutsResultSupport抽象类,因为这个类中的execute方法中有获取标签中定义的结果页面名称的操作。 3.如果不需要跳转到标签中指定的结果页面,那么只要直接继承Result接口即可。 自定义结果集: /** * 继承StrutsResult

2506

Struts2中结果集转发

为什么80%的码农都做不了架构师?>>> ...

weixin_34307464的博客 96

Struts2_day02

Struts2的第二天 课程回顾:Struts2框架第一天 1. Struts2框架的概述,前端控制器的模式,核心的过滤器 2. 入门,编写struts.xml配置文件 3. 配置文件 * 配置文件的加载 4. Action类的编写和访问 Struts2的第二天的内容 1. Struts2框架中的Servlet的API的使用 2. Struts2中Action接收请求参数 3. Strut...

树叶子的博客 330

Struts2的结果页面的配置

Struts2的结果页面的配置 result的配置方式有两种: 全局结果页面。 局部结果页面。 1、全局结果页面 全局结果页面:全局结果页面指的是,在package包中配置一次,次包中的所有的action只要返回了这个值,都可以跳转到这个页面。 针对这个包下的所有的action的配置都有效。 <package name="demo1" extends="struts-default" namespace="/"> <!-- 全局结果页面 --> <global-r

pipizhen_的博客 282

Struts2的结果页面配置

全局结果页面配置 全局结果页面:全局结果页面指的是,在包中配置一次,其他的在这个包中的所有的action只要返回了这个值,都可以跳转到这个页面。 * 针对这个包下的所有的action的配置都有效。 &amp;amp;lt;struts&amp;amp;gt; &amp;amp;lt;package name=&amp;quot;demo2&amp;quot; extends=&amp;quot;struts-default&amp;quot; n

qq_40435621的博客 227

Struts2:结果页面配置

结果页面配置 result标签配置action方法的返回值到不同的路径里面 全局结果页面 如果多个action,方法里面返回值相同的,到页面也是相同的,这个时候可以使用全局结果页面配置,在package标签里面配置 <package name="hellodemo" extends="struts-default" namespace="/"> <!-- 全局结果页面...

离开屏幕的光,哪盏灯照亮你的孤独? 165

Struts2跳转后Css样式失效。。。

Struts2重定向。。。

woshi_bobo2010 5310

JAVA框架——struts2(二)转发,重定向,如何获得Servlet中的域对象,Action类生命周期以及struts如何接受表单参数

一、 结果页面跳转 使用<result>元素的type属性和name属性 name属性:指定逻辑视图的名称,默认值为success type属性:指定返回的视图资源的类型,不同类型代表不同的输出结果,默认值为dispatcher <struts> <package name="result" namespace="/" extends="struts-default" > <!-- 转发 --> <action name="Demo1Act

Mr_GYF的博客 519
上一篇: (Struts2)在Struts2框架中使用Servlet的API
下一篇: (Struts2)Struts2框架的数据封装
Jadan-Z
博客等级 码龄10年 8粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值