- com.google.android.material.tabs.TabLayout与TableLayout区别
xiaotianyun88
安卓开发android
com.google.android.material.tabs.TabLayout和TableLayout是Android开发中的两种布局控件,它们有一些明显的区别。1.功能和用途:com.google.android.material.tabs.TabLayout:主要用于显示和管理标签页。它通常与ViewPager控件结合使用,允许用户在不同的标签页之间进行滑动切换。每个标签页可以表示一个独
- TableLayoutPanel的RowSpan和ColumnSpan的使用
无忧无虑Coding
C#
使用WinForm的TableLayoutPanel进行开发时,编辑器提示合并列和行可以使用RowSpan和ColumnSpan,但是找了半天也没找到,在偶然的情况下,发现这是怎么弄的了,呵呵,分享给大家。方法如下:把TableLayoutPanel拖到窗体上,然后再拖一个Panel,把panel放到TableLayoutPanel的单元格中,选中Panel,看看属性框中,是不是有了ColumnS
- Android开发-UI布局的使用
IM不知
前言常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局)TableLayout(表格布局)。View和ViewGroup1.View在Andorid应用程序中,UI元素称为View,它们都继承了android.view.View类。View有众多的子类,包括ViewGr
- 学习Android的第三天
世俗ˊ
Android学习android
目录AndroidLinearLayout线性布局XML属性LinearLayout几个重要的XML属性LinearLayout.LayoutParamsXML属性divider(分割线)AndroidRelativeLayout相对布局RelativeLayout布局属性TableLayout(表格布局)TableRow子控件的主要属性AndroidLinearLayout线性布局LinearL
- 安卓常用布局
老A94
Android中常用的5大布局方式有以下几种:线性布局(LinearLayout):按照垂直或者水平方向布局的组件帧布局(FrameLayout):组件从屏幕左上方布局组件表格布局(TableLayout):按照行列方式布局组件相对布局(RelativeLayout):相对其它组件的布局方式绝对布局(AbsoluteLayout):按照绝对坐标来布局组件1.线性布局(LinearLayout)线性
- C# WinForm 中Label自动换行 解决方法
JoeBlackzqq
C#winformc#constraintstextboxdialogbehavior
From:http://hi.baidu.com/tewuapple/blog/item/74070a2451cbcc7c36a80f76.html在TableLayoutPannel中放着一些Label如果把Label的AutoSize属性设成True的话,文字超过label长度时就会自动增加,直到后面的字出窗体以外设置成False时,一旦到达Label的长度,后面的字符也就显示不出来了经过我的
- C#编程之tableLayoutPanel合并行和列
十四贝勒
控件tableLayoutPanel想要实现单元格合并行和列。方法:向单元格中添加Panel控件,在Panel控件属性中就有ColumnSpan和RowSpan,通过设置就可实现合并行和列。
- Android_adb_基本常用命令
just Liu
androidadb
Android五大常用布局组件:FrameLayout:单帧布局帧里的控件叠加LinearLayout:线性布局以水平或垂直方向排列ConstraintLayout:约束布局通过相对定位排列,可视化的编写布局排列TableLayout:表格布局表格形式排列RelativeLayout:相对布局相对定位排列android:layout_below元素下方adb基本命令:adbstart-server
- 【WinForm.NET开发】使用 TableLayoutPanel 在 Windows 窗体上排列控件
吉特思米(gitusme)
WinForm.NET专栏.netwindowsc#
本文内容创建项目在行和列中排列控件使用停靠和定位在单元格内放置控件设置行和列属性使用控件跨越行和列通过在工具箱中双击控件将其插入自动处理溢出通过绘制控件轮廓将其插入单元格内不允许有多个控件交换控件后续步骤某些应用程序需要这样一个窗体,该窗体的布局可在窗体重新调整大小或在内容更改大小时对自身进行排列。当你需要动态布局并且不希望在代码中显式处理Layout事件时,请考虑使用布局面板。FlowLayou
- c# winform 使用记录
三皮仔
C#c#microsoft开发语言
窗口界面分文件存储使用UserControl控件split-form-in-multiple-files【C#】UserControl用法适应父窗口大小TableLayoutPanel加载缓慢C#winformusercontrol控件跟随主窗体实现自动大小tablelayoutC#TableLayoutPanel使用方法、数据双向绑定WinForm数据双向绑定功能实现
- 常用的Toolbar+viewpager汇总(二)
it奔跑在路上
本文基于常用的Toolbar+viewpager汇总(一)进行修改GIF1.gif下载链接:https://share.weiyun.com/5IHvE0KpublicclassMainActivityextendsAppCompatActivity{privateTabLayouttableLayout;privateViewPagerviewPager;Listlist_fragment=ne
- Android五大布局介绍&属性设置大全
穿越平行宇宙
前言在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置。目录image一、布局介绍在Android中,共有五种布局方式,分别是:FrameLayout(框架布局)LinearLayout(线性布局)AbsoluteLayout(绝对布局)RelativeLayout(相对布局)TableLayout(表格布局)
- andriod实战项目开发五----TabLayout自定义,完美解决选中标题后可以设置颜色和字体的大小
sccd2009
giteeandroid
项目开发的需求:实现TabLayout样式的自定义。如果单纯的修改和跳转标题的颜色及指示器的样式,可以不需要自定义;如果需要选中标题后改变字体的大小,则需要自定义tablayout样式。1.布局文件如下2.增加tab_item.xml样式3.Fragement初始化tab数据privatevoidinitView(){mTableLayout=(TabLayout)getActivity().fi
- 高考系统中table内容体滚动
_FireFly_
具体的代码th,td{table-layout:fixed;/*tableLayout属性用来显示表格单元格、行、列的算法规则*/word-break:break-all;/*word-break属性规定自动换行的处理方法。*/box-sizing:border-box;/*border-box告诉浏览器去理解你设置的边框和内边距的值是包含在width内的*/}2019年2019年2019年201
- Android UI——Material Design ——ToolBar Palette TableLayout
So_ProbuING
MaterialDesign——ToolBarToolBar简单来说就是是app的顶部导航,也在一些app中当做标题栏使用。由于在早期的开发中,不同的产品设计导致实现标题栏或者导航栏各个公司都比较混乱。Google于是规范了导航栏标题栏的规范。在3.0的API中加入了ActionBar作为导航和标题的通用规范。但是在后来随着版本的更新,ActionBar有一些弊端和不满足现在的App的设计。所以又
- Android布局之三——Table Layout
zhanghaidang
androidtablelayouthtmlencoding扩展
又是一周没有学习了,废话不多说,直接上XML文件代码:注意:这类似于一个HTML表的结构。TableLayout类似于HTML元素的table;TableRow的类似于HTML元素的tr;但对于单元格,您可以使用任何一种组件。在这个例子中,一个TextView相当于一个单元格。TableRow与TableRow之间的View用来绘制一条水平线。TableLayoutxmlns:android="h
- Android UI 开发·界面布局开发·案例分析
时光の尘
Androiduiandroidjavagitee
目录编辑1.线性布局(LinearLayout)2.相对布局(RelativeLayout)3.表格布局(TableLayout)4.帧布局(FrameLayout)5.网格布局(GridLayout)6.绝对布局(AbsoluteLayout)补充内容:关于selector状态选择器1.线性布局(LinearLayout)LinearLayout线性布局是一种最简单的布局方式,它有垂直和水平两种
- android计算器表格布局,Android 计算器UI-TableLayout
PeterPan(fake)
android计算器表格布局
表格布局(TableLayout)android:layout_width="match_parent"android:layout_height="match_parent"android:stretchColumns="*">android:layout_width="match_parent"android:layout_height="60dp"android:gravity="cente
- Android学习--07-四种基本布局
weixin_33816300
移动开发python
2019独角兽企业重金招聘Python工程师标准>>>LinearLayout线性布局android:orientation="vertical"垂直方向上线性排列android:orientation="horizontal"水平方向上排列RelativeLayout相对布局随意定义,可以基于某个控件的位置定位。FrameLayout只定位左上角TableLayout表格布局就是form转载于:
- Jetpack-Compose 学习笔记(二)—— Compose 布局你学会了么?
修之竹
AndroidJetpackComposeandroidjetpack
在前一篇笔记中,我们知道了Compose布局的一些基本知识,这篇笔记就来详细看看Compose布局吧!还有些Compose其他的知识,根据官方的实例,我们边看边说。1.Compose布局方式Android目前的布局Layout有许多:LinearLayout线性布局、RelativeLayout相对布局、ConstraintLayout约束布局、FrameLayout帧布局、TableLayout
- Android中的五种布局方式
Time_x
常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。二、LinearLayout:线性布局,每一个LinearLayout里
- 安卓基础学习_应用的界面编程
默默9518
Android基础知识
一、Android应用的界面编程1、布局管理器线性布局:LinerLayout表格布局:TableLayout相对布局:RelativeLayout绝对布局:AbsoluteLayout帧布局:FrameLayout网格布局:GridLayout(android4.0新增)1.线性布局线性布局不会自动换行,当组件会一个一个的排列到头后,剩下的组件将不会被显示出来。注:纵向vertical或横向ho
- 记录:移动设备软件开发(layout六大布局)
此镬加之于你
移动设备软件开发androidandroidstudio
目录前言layoutLinearLayout线性布局LinearLayout的常用属性Android:orientation属性Android:gravity属性TableLayout表格布局TableLayout的常用属性collapsecolumns属性shrinkcolums属性stretchcoumns属性RelativeLayout相对布局AbsoluteLayout绝对布局Absolu
- Android 常见布局
zerohdq
基本理论Android六大基本布局分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。其中,表格布局是线性布局的子类。网格布局是android4.0后新增的布局。在手机程序设计中,绝对布局基本上不用,用得相对较多的是线性布局和相对布局。And
- Android的LinearLayout和RelativeLayout以及常用的控件
xubo667
androidandroidstudio
1.Android的基础布局LinearLayout线性布局RelativeLayout相对布局TableLayout表格布局FrameLayout帧布局(框架布局)ConstrantLayout约束布局(AndroidStudio默认布局)用于拖拽的2.LinearLayout线性布局2.1怎么将AndroidStudio默认的ConstrantLayout改为LinearLayout1.在de
- WEB基础之:CSS表格布局 Table Layout
f_carey
WEBhtmlcss
表格布局TableLayout1.表格式化1.1表编排规则1.2.表显示值1.2.1列1.3匿名表对象1.3.1对象插入规则1.4表层1.5表标题2.表单元格边框2.1合并或分隔单元格边框2.2边框间隔2.3处理空单元格2.4合并单元格边框2.4.1合并单元格边框规则3.表大小3.1宽度3.2高度3.3对齐3.3.1行内元素的值3.3.2表格单元格的值1.表格式化1.1表编排规则每个行框包含一行表
- 常用布局及单位
notcaremath
1.线性布局LinearLayout2.相对布局RelativeLayout3.帧布局FrameLayout4.绝对布局AbsoluteLayout5.表格布局TableLayoutTableRowdp用于控件sp用于字体
- TableLayout 整齐堆叠宽度等分布局
kongzue
需求现有需求,按总宽度N等分,从左往右放置子布局,至最右处换下行继续,整体布局高度按照子布局高度逐级扩张。Android自带的GridLayout和TableLayout都不够好用,就自己写了个,原理和StackLabel类似。代码importandroid.content.Context;importandroid.content.res.Resources;importandroid.cont
- 四大布局 使用详解
程序员Android
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、LinearLayout线性布局二、RelativeLayout关系布局三、FrameLayout帧布局四、TableLayout表格布局在Android中,有界面存在的地方就会有布局存在,布局对于Android来说十分重要。Android中常用的四大布局:Line
- android垂直排列元素_五大Android布局方式浅析
叶子虫
android垂直排列元素
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局).一、FrameLayout这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个
- 开发者关心的那些事
圣子足道
ios游戏编程apple支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
- 负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginxF5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
- LeetCode[Math] - #9 Palindrome Number
Cwind
javaAlgorithm题解LeetCodeMath
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
- 画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
- linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
- Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
- java导出txt文件的例子
知了ing
javaservlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
- Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scalasbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
- phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linuxspider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
- JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想JAVA IO操作字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
- Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
- HR看重的十大技能
bijian1013
提升能力HR成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
- 【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
- 【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
- nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
- java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
- Netty源码学习-HTTP-tunnel
bylijinnan
javanetty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
- JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jqueryjsonmapval()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
- Hibernate缓存总结
cuishikuan
开源sshjavawebhibernate缓存三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
- CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
- 10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
- ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
- JSP之c:foreach
eksliang
jspforearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
- Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
- android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
- 干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏 
- jquery-autocomplete 使用手册
macroli
jqueryAjax脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
- PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracleplsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
- 数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储数据仓库数据模型拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
- 10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring