- 内网通改修对话框左侧聊天列表宽度
支持未来
开源
使用内网通,由于组织要求,大家名称都加了前缀,最后导致大家名字都显示不全。内网通还无法动态调整这个宽度。可以通过改修内网通安装的文件来改修这个长度1,找到内网通安装目录\Nwt\res\ShiYeLine\layout\ChatDialog.xml2,编辑这个文件2-1.ChatListViewLayoutWidth="150"改宽2-2.SkinLineAlignParentLeft="149"
- 如何在Futter开发中做性能优化?
Ever69
性能优化
目录1.避免不必要的Widget重建问题:频繁调用setState()导致整个Widget树重建。优化策略:2.高效处理长列表问题:ListView一次性加载所有子项导致内存暴涨。优化策略:3.图片加载优化问题:加载高分辨率图片导致内存溢出。优化策略:4.动画性能优化问题:复杂动画导致UI卡顿。优化策略:5.状态管理优化问题:全局状态变化导致无关Widget重建。优化策略:6.避免阻塞UI线程问题
- unplugin-vue-router 的基本使用
javascript
1.前言在Vue3开发过程中,每次创建新的页面都需要注册路由,需要在src/router.ts中新增页面的路径,并将URL路径映射到组件中,如下所示:import{createMemoryHistory,createRouter}from'vue-router'importHomePageViewfrom'./HomePageView.vue'importDevListViewfrom'./Dev
- 详细介绍ListView_DeleteItem
程工助力英语中国话
VisualC++2017从入门到精通windowswin32
书籍:《VisualC++2017从入门到精通》的2.3.8Win32控件编程环境:visualstudio2022内容:【例2.27】支持按Delete键删除某行的列表视图控件说明:以下内容大部分来自腾讯元宝。以下是关于**ListView_DeleteItem**函数的详细介绍,结合微软官方网页及搜索资料的核心内容:1.定义与作用ListView_DeleteItem是WindowsAPI中用
- 中年人学C语言Windows程序设计,27控件ListView
卖身买镜头
C语言WIN32图形程序设计c语言windows开发语言
最近学习的是WIN32控件ListView的使用,以下是个人的一点心得。参考链接参考链接ListView控件,在直观上个人认为就是表格的意思。与表格一样,ListView也有表头,表头有几个项,下面的内容行也有几个项。使用列表控制的步骤如下:调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。创建和初始化用在列表
- windows窗体控件之listview列表视图
android123123123
c#ui
1.添加标题winform.listview.gridLines=true;//显示列表线,也可在属性表设置winform.listview.insertColumn("列标题",列宽,位置,样式)winform.listview.insertColumn("标题2",列宽,位置,样式)//后加的在前面(若不注明位置)winform.listview.insertColumn("第一列",40,1
- ListView展示图片
太空漫步11
windows
packagecom.example.myapplication5;importandroid.os.Bundle;importandroid.widget.ListView;importandroidx.appcompat.app.AppCompatActivity;importcom.example.adapter.ImageAdapter;importjava.util.ArrayList;
- QML 容器控件:ScrollView
Quz
Qt6QML开发进阶之旅qt
目录1.ScrollView简介1.1主要特点2.使用示例2.1简单的ScrollView2.2使用ListView作为子项注意事项总结ScrollView是QML中用于创建可滚动视图的控件,它允许用户通过触摸或鼠标操作来滚动内容。ScrollView是QtQuick.Controls模块的一部分,通常用于替代Flickable或装饰现有的可滚动控件(如ListView或GridView)。以下是
- Qt QListWidget 总结
enyp80
qt数据库java
QtQListWidget总结1.概述QListWidget是Qt中用于显示和管理列表项的控件,继承自QListView,但提供更简单的项(Item-Based)接口。适用于简单列表场景(如文件列表、选项菜单),支持文本、图标、自定义控件等。与QListView的区别:QListWidget直接操作项,而QListView基于模型/视图架构,适合复杂数据。2.核心功能项管理:添加、删除、插入、遍历
- ReactNative——使用FlatList实现豆瓣电影列表
weixin_34218579
javascriptuijsonViewUI
在上篇文章中我们了解了ListView的使用方法,并且实现了三种不同样式的列表视图。ListView虽然使用广泛,但是它也有许多缺点,如:不支持单独的头部和尾部组件,当数据量过大时,占用内存明显增加,性能受到影响,出现丢帧的情况。所以随着ReactNative版本的迭代更新,ListView被FlatList和SectionList取代。FlatList用于无分组的列表,而SectionList用
- WPF6-常用控件【全】
Zy100Papa
wpf
目录写在前面:1.按钮控件1.1.Button按钮1.2.RepeatButton:长按按钮1.3.RadioButton:单选按钮2.数据显示控件2.1.TextBlock:只读文本控件2.2.Lable:标签显示文本控件2.3.ListBox:显示可选择项的列表2.4.DataGrid:数据表格控件2.5.ListView:显示列表数据2.6.Image:图片2.7.ToggleButton:
- 深入Android HandlerThread 使用及其源码完全解析
ThreadLocalForrest
androidjavaui
本篇我们将来给大家介绍HandlerThread这个类,以前我们在使用线程执行一个耗时任务时总会new一个Thread的线程去跑,当任务执行完后,线程就会自动被销毁掉,如果又由新的任务,我们又得新建线程.....我们假设这样的一个情景,我们通过listview去加载图文列表,当我们往下滑动时,这时需要不断去请求网络资源,也就是需要不断开线程去加载网络资源,如果每次都new一个Thread,这显然是
- Flutter 的Column中包含ListView且listview是动态高度
weixin_41367871
Flutterflutter
ListView.builder(//列表会根据其内容的大小来决定自身的尺寸,而不是填满可用空间。//适用于列表高度需要自适应内容,或者列表嵌套在其他滚动视图中(如在Column中嵌套ListView)。shrinkWrap:true,//创建不允许用户滚动的滚动。禁止使用listview的滚动,应该使用外部的滚动physics:constNeverScrollableScrollPhysics(
- Flutter滚动布局嵌套高度自适应和滑动冲突处理
qq_28051795
Flutter
在SingleChildScrollView中嵌套ListView,如果不指定ListView高度的话会报错,类似这样的════════Exceptioncaughtbyrenderinglibrary═════════════════════════════════════════════════════Thefollowingassertionwasthrownduringpaint():Re
- Qt 模型视图
小卒曹阿瞒
C++/QT
Widget::Widget(QWidget*parent):QWidget(parent){QStringListdata;datasetStringList(data);listView=newQListView(this);listView->setModel(model);QHBoxLayout*btnLayout=newQHBoxLayout;QPushButton*insertBtn=
- Qt - 模型视图
aoaoGofei
qtqt数据库oracle
模型/视图概念模型/视图结构将数据存储和界面展示分离,分别用不同的类实现模型:存储数据视图:界面上的视图组件显示模型中的数据;在视图组件里修改的数据会被自动保存在模型中源数据内存中的一个字符串列表磁盘文件系统结构数据库的一个数据表sql查询结果视图(视图组件)视图从模型获得数据然后将其显示在界面上QListViewQTreeViewQTableView模型(数据模型)模型与源数据通信,并为视图自检
- Android零基础入门第64节:揭开RecyclerView庐山真面目
weixin_33749242
移动开发javapython
2019独角兽企业重金招聘Python工程师标准>>>大家还记得之前在第38期~第50期都在学习列表控件吗,其中用了8期讲ListView的使用,相信都已经掌握好了吧。那么本期一起来学习Android5.X新增的一个列表组件,那就是RecyclerView的使用。一、RecyclerView概述从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法
- Android ListView 动态设置ItemView高度为0隐藏Item
GordonH1991
Android基础androidandroidlistview布局隐藏Item设置Item高度
隐藏ItemView前言在使用Adapter加载ItemView时应该使用:inflater.inflate(R.layout.my_layout,parent,false);不然会导致ItemView的高度仅仅是wrap_content,除非在my_layout中再嵌套一层Layout并指定高度。隐藏ItemView设置某一项Item的高度主要是设置该ItemView的高度,我们可以在getVi
- 关于Activity的六个常用控件和ListView控件的详情
众智创新团队
javascript开发语言ecmascript
一.Activity基础控件的知识1.1TextView1.2Button1.3EditText1.4ImageView1.5ProgressBar1.6AlterDialog二.特殊的ListView控件2.1ListView知识前言:Android给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面,下面我们就挑选几种常用的控件,详细介绍一下它们的使用方法。一.六
- C#对FTP服务器操作类
want fly
c#上位机学习服务器c#java
要在WinForms应用程序中像访问本地文件夹一样访问FTP服务器上的文件夹,可以通过以下步骤实现:1.使用FTP访问远程服务器你需要使用FtpWebRequest类来访问FTP服务器,并进行文件/文件夹的列表、上传和下载操作。2.显示目录结构可以使用TreeView控件来显示FTP服务器的目录结构,并使用ListView控件来显示文件。通过与FTP服务器的连接,可以列出文件夹和文件,就像浏览本地
- Flutter 轻松实现动态更新 ListView
技术小黑屋_
pythonjavajsvuejavascript
在App开发过程中,ListView是比较很常见的控件,用来处理列表类的数据展示。当然Flutter也是支持的,由于Flutter是归属于声明式UI编程,其处理起来要更加的简单与便捷。本文将通过一个极简单的例子来说明一下如何实现动态更新数据。在贴代码之前,先介绍一些概念和内容数据集final_names=['Andrew','Bob','Charles'];int_counter=0;新的数据It
- 在 Flutter 实现下拉刷新、上拉加载更多和一键点击回到顶部的功能
B.-
flutteriosandroid
在Flutter中,实现下拉刷新、上拉加载更多和一键点击回到顶部的功能,通常会结合使用RefreshIndicator、ListView和ScrollController来实现这些交互效果。下面分别介绍如何实现这些功能。1.下拉刷新Flutter提供了RefreshIndicator组件来实现下拉刷新的功能。它会包裹一个滚动视图(如ListView或CustomScrollView),并在用户下拉
- 阿里云CDN+OSS完成图片加速
技术人成长
架构
我们使用ReactNative开发APP,在列表中显示图片时,列表框经常出现长时间的空白。经过稍微研究和参考其他人的经验,我们知道ReactNative的ListView以及后来改进版的FlatList在安卓系统上都有内存使用方面的问题,很多团队在开发时都需要自己去优化这个控件,大体优化思路无非也就是将滚出显示区域外的图片占用的内存释放掉,具体实现起来会复杂一些。以上主要是背景介绍,不过有点跑题。
- PyQt5 QListView setModel
wowocpp
pyqt
importsysfromPyQt5importQtCore,QtGui,QtWidgetsfromPyQt5import*importsysfromrandomimportrandintimportsysfromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromPyQt5.QtWidgetsimport*app=QApplication(sys.argv)
- Android ExpandableListView 详细用法全解析
志尊宝
Androidandroidgitee
引言在Android开发中,列表展示是一种非常常见的交互形式。而ExpandableListView作为一种特殊的列表控件,它允许我们创建具有分组功能的列表,每个分组下还可以包含多个子项,并且分组可以展开和收缩,这大大增强了数据展示的灵活性和可读性。本文将详细介绍ExpandableListView的用法,从基本概念到具体实现,再到高级应用,帮助你全面掌握这一控件。1.ExpandableList
- Android ExpandableListView折叠菜单的三层嵌套实现(1)
2401_84132393
程序员androidjava开发语言
有了思路,关于ExpandableListView的三层嵌套就直接上手实现这里说下我的需求是有些数据是只有二级,有些数据是三级的。如果你的需求是只有三级,不需要考虑三级二级混合的情况,下面有说明怎么处理。效果图ExpandableListViewExpandableListView是官方提供的一个可展示折叠列表的控件。官方文档直链它的基本用法如下基本用法ExpandableListView的基本用
- ReactNative
青岑lw
JS库react-native
接触ReactNative也已经一段时间了,把自己遇到的一些问题总结出来希望能帮助到正在踩坑的人。ListViewListView是RN中的使用频率非常高的组件,问题却也层出不穷,FlatList等列表组件类似。首先是row中的视图不能随着state或Mobx而实时更新,如果把样式绑定到state中使用this.setState()方法更改数据后会发现,更改数据后视图无法更改,只有新渲染的row才
- 6、ListView详解:构建可滚动的列表
piplab666
flutterui
在移动应用开发中,经常需要展示大量数据,如新闻列表、商品列表等。Flutter提供了丰富的滚动视图控件,其中最基础也是最常用的就是ListView。本篇博客将深入探讨ListView的各种属性、类型以及性能优化技巧,帮助您更好地利用这一重要工具。1.什么是ListView?ListView是Flutter中的滚动视图控件,用于展示一个可滚动的列表。它可以在垂直方向(默认)或水平方向滚动,内部包含一
- Flutter ListView进阶:如何实现根据索引值滚动到列表特定位置
md_1008
flutterjavascript前端
在Flutter开发中,ListView是一个非常常用的组件,它允许我们展示一系列的项目。然而,有时候我们需要根据特定的索引值滚动到ListView中的某个项目位置,以便提供更好的用户体验。本文将详细介绍如何在Flutter中实现这一功能。一、基础准备首先,我们需要确保我们的ListView是可滚动的。在Flutter中,常用的可滚动ListView包括ListView、ListView.buil
- QT ListView 记录
weixin_30872157
数据库
http://www.cnblogs.com/chenxuelian/archive/2009/12/22/1629601.html转载于:https://www.cnblogs.com/whisht/archive/2012/06/12/3085088.html
- Dom
周华华
JavaScripthtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 【Spark九十六】RDD API之combineByKey
bit1129
spark
1. combineByKey函数的运行机制
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一
首先看一下combineByKey的方法说明:
- msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
daizj
mysql设置密码
MySql给用户设置权限同时指定访问密码时,会提示如下错误:
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串,
然后
- 路漫漫其修远兮 吾将上下而求索
周凡杨
学习 思索
王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注
- Hadoop(二)对话单的操作
朱辉辉33
hadoop
Debug:
1、
A = LOAD '/user/hue/task.txt' USING PigStorage(' ')
AS (col1,col2,col3);
DUMP A;
//输出结果前几行示例:
(>ggsnPDPRecord(21),,)
(-->recordType(0),,)
(-->networkInitiation(1),,)
- web报表工具FineReport常用函数的用法总结(日期和时间函数)
老A不折腾
finereport报表工具web开发
web报表工具FineReport常用函数的用法总结(日期和时间函数)
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
DATE
DATE(year,month,day):返回一个表示某一特定日期的系列数。
Year:代表年,可为一到四位数。
Month:代表月份。
- c++ 宏定义中的##操作符
墙头上一根草
C++
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { &nbs
- 分析Spring源代码之,DI的实现
aijuans
springDI现源代码
(转)
分析Spring源代码之,DI的实现
2012/1/3 by tony
接着上次的讲,以下这个sample
[java]
view plain
copy
print
- for循环的进化
alxw4616
JavaScript
// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
// Things[i]
}
// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
// Things[i]
}
// 大师
for (var i = Things.le
- 网络编程Socket和ServerSocket简单的使用
百合不是茶
网络编程基础IP地址端口
网络编程;TCP/IP协议
网络:实现计算机之间的信息共享,数据资源的交换
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去
端口:用于计算机之间的通信
每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识
0~65535
查看被使用的
- JDK1.5 生产消费者
bijian1013
javathread生产消费者java多线程
ArrayBlockingQueue:
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
ArrayBlockingQueue的常用方法:
- JAVA版身份证获取性别、出生日期及年龄
bijian1013
java性别出生日期年龄
工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。
CertificateNo.java
package com.bijian.study;
import java.util.Calendar;
import
- 【Java范型六】范型与枚举
bit1129
java
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
OK, ERROR;
public <T> T get(T type) {
return null;
- 【Nginx五】Nginx常用日志格式含义
bit1129
nginx
1. log_format
1.1 log_format指令用于指定日志的格式,格式:
log_format name(格式名称) type(格式样式)
1.2 如下是一个常用的Nginx日志格式:
log_format main '[$time_local]|$request_time|$status|$body_bytes
- Lua 语言 15 分钟快速入门
ronin47
lua 基础
-
-
单行注释
-
-
[[
[多行注释]
-
-
]]
-
-
-
-
-
-
-
-
-
-
-
1.
变量 & 控制流
-
-
-
-
-
-
-
-
-
-
num
=
23
-
-
数字都是双精度
str
=
'aspythonstring'
- java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )
bylijinnan
java
the idea is from:
http://blog.csdn.net/zhanxinhang/article/details/6731134
public class MaxSubMatrix {
/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
* Q35
求一个矩阵中最大的二维
- mongoDB文档型数据库特点
开窍的石头
mongoDB文档型数据库特点
MongoDD: 文档型数据库存储的是Bson文档-->json的二进制
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。
mongoDB传统型数据库对比
传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的
文档型数据库:不用定好数据结构,
- [毕业季节]欢迎广大毕业生加入JAVA程序员的行列
comsci
java
一年一度的毕业季来临了。。。。。。。。
正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。
软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的
- PHP操作Excel – PHPExcel 基本用法详解
cuiyadll
PHPExcel
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties
- IBM Webshpere MQ Client User Issue (MCAUSER)
darrenzhu
IBMjmsuserMQMCAUSER
IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗?
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。
http://stackoverflow.com/questions/20209429/how-mca-user-i
- 网线的接法
dcj3sjt126com
一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb
- Vimium插件让键盘党像操作Vim一样操作Chrome
dcj3sjt126com
chromevim
什么是键盘党?
键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。
在chrome里安装 vimium 插件
- MongoDB查询(2)——数组查询[六]
eksliang
mongodbMongoDB查询数组
MongoDB查询数组
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述
MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示:
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹
- cordova读写文件(1)
gundumw100
JavaScriptCordova
使用cordova可以很方便的在手机sdcard中读写文件。
首先需要安装cordova插件:file
命令为:
cordova plugin add org.apache.cordova.file
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:
var datas=null;//datas need write
var directory=&
- HTML5 FormData 进行文件jquery ajax 上传 到又拍云
ileson
jqueryAjaxhtml5FormData
html5 新东西:FormData 可以提交二进制数据。
页面test.html
<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>
<body>
<
- swift appearanceWhenContainedIn:(version1.2 xcode6.4)
啸笑天
version
swift1.2中没有oc中对应的方法:
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION;
解决方法:
在swift项目中新建oc类如下:
#import &
- java实现SMTP邮件服务器
macroli
java编程
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。
◆ SMTP 协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的
- mongodb group by having where 查询sql
qiaolevip
每天进步一点点学习永无止境mongo纵观千象
SELECT cust_id,
SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250
db.orders.aggregate( [
{ $match: { status: 'A' } },
{
$group: {
- Struts2 Pojo(六)
Luob.
POJOstrust2
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee&q
- struts2步骤
wuai
struts
1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.st