- 再也不做稀饭了
-
为了更好的讲解如何使用这个图形渲染插件,我会通过创建一个解决方案的形式一点点给大家讲解清楚。
1. EChart最新的文档目录。
首先创建一个解决方案,目录如下:
之前的一篇文章中讲到如果要使用Echarts还要下载相关的ZRender的渲染包,最新的版本已经将这些合并在一起了,只需要引用图中红框标注的echarts文件夹下的文件即可。各文件的作用如下:
l Echarts-map.js :主要用来渲染跟地图相关
l Echarts.js :基本的常规图形相关
l Esl.js :图像引擎
Statics文件夹下的ECharts.js文件,为我自己抽象总结出来的用于Echarts的配置文件加载、数据处理、初始化各种图像类型的配置、图像渲染的一些方法。
2. 抽象之后的Echarts。
根据Echarts官网的讲解,我把Echarts的使用归结为一下的几个步骤,同时这些步骤相应的实现对应到Statics文件夹下的Echarts.js,该文件的主要代码目录如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Var ECharts={
ChartConfig:function(container,option){ …..},//加载Echarts配置文件
ChartDataFormate:{….},//数据格式化
ChartOptionTemplates:{….},//初始化常用的图表类型
Charts:{ RenderChart:function(option){….},//渲染图表
RenderMap:function(option){…}//渲染地图
}
};
2.1 Echarts配置文件的引入
在开始使用时,首先需要引入Echarts 的配置文件,也就是要加载基本的图像类型,我们可以在每一个页面都引入,但是这样抽象化程度不高,重复使用率也不高,只需要有一个配置项在每次引用的时候加载一下即可,对应到具体的代码实现,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ChartConfig: function (container, option) { //container:为页面要渲染图表的容器,option为已经初始化好的图表类型的option配置
var chart_path = "/Statics/echarts/echarts"; //配置图表请求路径
var map_path = "/Statics/echarts/echarts-map";//配置地图的请求路径
require.config({//引入常用的图表类型的配置
paths: {
echarts: chart_path,
"echarts/chart/bar": chart_path,
"echarts/chart/pie": chart_path,
"echarts/chart/line": chart_path,
"echarts/chart/k": chart_path,
"echarts/chart/scatter": chart_path,
"echarts/chart/radar": chart_path,
"echarts/chart/chord": chart_path,
"echarts/chart/force": chart_path,
"echarts/chart/map": map_path
}
});
this.option = { chart: {}, option: option, container: container };
return this.option;
}
2.2 数据格式化
为了能够更好的展现各种的数据,在进行图表的option配置之前,需要先对从后台请求过来的数据进行格式化。后台返回的数据必须是json格式的数据,且数据类型只能为以下两种类型:
Result1=[{name:XXX,value:XXX},{name:XXX,value:XXX}….]
Result2=[{name:XXX,group:XXX,value:XXX},{name:XXX,group:XXX,value:XXX]
具体的代码实现如下:
+ View Code
1
2.3 各种图表类型的配置初始化
在通过2.2步骤将从后台获得的数据进行初始化之后,我们就可以进行图表的option的配置了,在这里我主要对常用的饼图、柱图(单一、分组、堆积柱图)、折线图(分组、堆积折线图)、柱图+折线(增幅)图、中国地图等图进行了配置项的初始化。具体实现如下:
+ View Code
静力学的结构静力学的结构是什么
静力学的结构是:静(左右结构)力(独体结构)学(上下结构)。静力学的结构是:静(左右结构)力(独体结构)学(上下结构)。拼音是:jìnglìxué。注音是:ㄐ一ㄥ_ㄌ一_ㄒㄩㄝ_。词性是:名词。静力学的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】静力学(statics)是理论力学的一个分支,研究质点系受力作用时的平衡规律。关于静力学的成语更深夜静沉静寡言冷眼静看安安静静鸦默雀静学书学剑好学力行力学笃行力学不倦关于静力学的词语力学不倦沉静寡言苦学力文更深夜静好学力行冷眼静看力学笃行仪静体闲避嚣习静鸦默雀静关于静力学的造句1、本文论述一个新的力的表示和力系简化方法。据此可以改进传统的静力学理论体系。2、利用静力学原理,提出该轴承更为合理的径向工作间隙检测方法。3、非惯性系中的相对平衡问题,除矢量力学方法外,还可用非惯性系分析静力学方法处理。4、弹性静力学主要涉及力和变形之间的物性关系,以及弹性体的失效、与失效有关的设计准则。5、一个设计人员必须在静力学,运动学,动力学和材料学。点此查看更多关于静力学的详细信息2023-07-17 14:00:481
statics show that at some
Statistics名词(主语) show动词(谓语) that(连词)+ the more isolated you are at work.是宾语从句2023-07-17 14:00:551
action="/statics/demosource/demo-form.php">什么意思啊
访问根目录下/statics/demosource/demo-form.php这个文件2023-07-17 14:01:052
nodejs下报了下面这个问题...万分不解
没有发现bson模块,安装一下就可以npm install bson然后找到index.js文件E: ode ode_modulesmongoose ode_modulesson ode_modulesson-extextindex.js修改以下内容bson = require("../build/Release/bson")改成bson = require("bson") ,共两处,重新运行2023-07-17 14:01:121
在ansys中如何添加路面不平整度
1、创建几何模型:使用ANSYSDesignModeler或其他CAD软件创建道路的几何模型,包括路面的形状和尺寸等。2、导入几何模型:在ANSYSWorkbench中打开Geometry模块,导入道路的几何模型。3、创建网格:使用ANSYSMeshing或其他网格生成软件对道路几何模型进行网格划分,生成网格模型。4、定义边界条件:在ANSYSWorkbench中打开Setup模块,定义边界条件。在定义边界条件时,可以添加路面不平整度。具体方法是通过在“Loads”下选择“Transients”或“Statics”添加“RemoteForce”或“RemoteDisplacement”等边界条件,并设置相应的载荷或位移。5、进行分析:在ANSYSWorkbench中打开Solve模块,进行数值分析。在分析过程中,ANSYS会计算出不同路面不平整度下的应力和变形等结果。2023-07-17 14:01:191
linux下怎样将一个文件夹中的多个文件同时拷贝到另一个文件夹
cp file1 file2 file3 directory即将文件file1 file2 file3复制到directory 可以使用通配符,比如cp file? *File* other directory将file开头后面一个字符、包含File字符的文件和other文件复制到directory如果拷贝目录,需要-r参数:cp -r souredir destdir2023-07-17 14:01:283
ENVI中加载预定义ROI后分类总面积怎么求?在线等啊!!!
ROI面积还是分类面积?ROI的话可以用ROI Tools界面上的Statics;分类后的可以用Classification-Post Classfication -Class Statics2023-07-17 14:01:491
物理光力电声热概念的总结
新年好!Happy Chinese New Year !楼主的问题范围太大了,这些内容可以写几本书。下面扼要给楼主概括一下:1、光,light,是波 wave,具有波动性 wave-like; 但是光跟物体,譬如金属,作用时,又表现得像粒子打在金属上, 我们就说光也有粒子性 particle-like。爱因斯坦的光电效应就是这个原理。 光学,optics,是研究光的各种性质的学科。2、力, force,action,是一种作用,是无法解释的。 力学:mechanics;静力学:statics;运动学:kinematics;动力学:dynamics 物理中的一些概念是建立在常识上的,力就是这样概念,中文的解释是 作用;英文的解释是 action。 作用在别的物体上,是 acts on;被别的物体作用是 acted by。3、电、电学:electricity; 电磁学:electromagnetics 电荷:charge;电流:current,或 electric current。 电荷的流动形成电流,电流的存在产生磁场,磁场的变化感应出电流、、、4、声: sound ; 声学:Acoustics 机械振动在空气、气体、液体、固体中的传播形成了声波。5、热:hot,heat; 热量、热能:thermal energy, heat energy; 热学、热力学:thermodynamics 由于温度的存在,使得分子做无规则热运动,产生热现象。2023-07-17 14:01:581
帮忙做几道汇编题,谢谢先
我倒。。好象不懂也。唿唿。。2023-07-17 14:02:276
思科ASA防火墙 8.2的版本 static (inside,outside) interfac XXXX mask XXXX dns 这条命令的目的是什么?
static (inside,outside) interfac XXXX mask XXXX dns //将出口地址映射到real(内部真实)地址,并使用创建的转变表重写DNS记录,而不是端口映射,也不是映射一条dns。命令效果等同于:static (inside,outside) 外部地址 mask 内网地址 //把出口地址映射到内网地址后,所有访问到出口的流量(防火墙的https...等)全部被转到内部的地址上,而当内部主机上没有开启 https,那这个访问肯定是被丢弃的,当然打不开了。使用地址映射时,会提示如下,WARNING: static redireting all traffics at outside interface;WARNING: all services terminating at outside interface are disabled.//所有目的是到防火墙outside接口的流量都被禁止WARNING: conflicting statics in startup configuration2023-07-17 14:02:431
这个怎么配路由静态ip使两台pc能通信??如果路由有很多个以太网接口呢又该怎么办???
看说明书 没有百度搜搜说明书2023-07-17 14:02:524
支点轮胎的“万籁OneLife”(无声)静音棉科技,是个啥,有懂的吗?
“万籁OneLife”(无声)静音棉科技是支点轮胎独有的,它通过特殊工艺的静音棉,利用空腔声波空气减震原理使得轮胎大量减少空腔噪音,多节距的花纹块设计减少了花纹快拍打地面的噪音,封闭的胎肩阻拦了噪音额传递。可以说,得益于这一个技术的应用,使得支点轮胎拥有极好的静音效果。轮胎的噪音和轮胎的花纹、材料配方、行驶时的路况等多种因素都有关系,大部分轮胎品牌都针对性的推出了一些静音效果好的轮胎产品。除了一线大品牌之外,个人现在比较推荐支点轮胎静力 Statics S1这款轮胎。是一款天鹅绒胎侧和静音棉双重黑科技加持的轮胎,采用“万籁OneLife”(无声)科技,通过特殊工艺的静音棉,利用空腔声波空气减震原理使得轮胎大量减少空腔噪音,静音效果超级不错,同时价格也不高。2023-07-17 14:03:001
ugameplaystatics:loadstreamlevel怎么用
首先在你的永久关卡流中有多个子关卡,并修改流送方式为蓝图(不是固定加载)C++中简单用法就是FName LevelName = TEXT("LV_02");FLatentActionInfo Info;UGameplayStatics::LoadStreamLevel(GetWorld(), LevelName, true, true, Info);2023-07-17 14:03:221
linux怎么将一个文件移动到另一个目录下
有界面的话直接复制粘贴,没界面的话需要使用mv命令,特殊的,关系到系统的文件目录需要sudo之类.2023-07-17 14:03:322
帮我翻译几个句子
电力传输的距离,其损耗几乎可以忽略不计current.2.the用机器的发明使世界进入了一个新的时代——工业时代。金钱成了king.3.the带通常不是空间运载工具的目标,因此发射不违反国际协议,禁止杂乱的空间外国对象。4。设计师必须有一个良好的基础在静力学,运动学,动力学和材料强度。2023-07-17 14:03:532
phpcms的地区联动 怎么实现
这样试试呢,在数据模型中创建自定义字段(可参考iphpcms的教程)时字段类型设置为“联动菜单”,然后在“菜单id”选项处通过联动菜单列表选择你的地区联动菜单,并可设定联动菜单的返回值的方式。然后在内容添加编辑界面可出现此联动菜单项,此方法常用。二、在phpcms模板中直接调用联动菜单,此方法不常用。具体方法是来到后台-扩展-联动菜单列表,你会看到每一个联动菜单都有一个调用代码,将此代码复制粘贴到你想放的模板位置即可。但根据经验,这还不够,因为虽然通过此代码把联动菜单掉出来了,但是因为缺乏此带单显示时的css、js文件,往往显示不正常,所以需要保证你的模板里同时引入了statics/js/dialog.js、statics/js/linkage/js/pop.js、statics/css/dialog.css等文件。需要对phpcms有一定了解。如果不行的话你可以直接去后盾人线下面授培训问问那些专家讲师,他们很乐意帮你的,希望能帮到你,给个采纳吧谢谢( ⌒u3268⌒)人(⌒u3268⌒ )v2023-07-17 14:04:001
跪求c++编译器或编译环境以及使用方法
可以下载VS2010或者更高版本2023-07-17 14:04:102
jQuery ReferenceError: $ is not defined 错误的处理办法
一看很明显是没有引用脚本库,但是脚本库确认引用了。后面,把<scripttype="text/javascript"src="/statics/js/jquery-1.4.2.min.js"></script>中的/statics/js/jquery-1.4.2.min.js改为statics/js/jquery-1.4.2.min.js,居然就可以了。我在IIS里也启用了绝对路径,但是怎么就是不行呢?想不明白。另外把jquery-1.4.2.min.js也是可以正常运行的。想不明白,为什么会这样,好在问题解决了,也就算了,如果有遇到这样情况的朋友,可以告知一下。2023-07-17 14:04:171
帮我翻译几个句子
1.电力传输的距离,它是几乎微不足道的损失电流。(如果用电力传输,几乎不损失电流)2.机器的发明使世界进入了一个新的时代——工业时代富有的国王(大国)。3.(宽)带通常不是一个目标发射太空交通工具如此不违反国际协议,禁止外商对象的空间堆满。4.一个设计师必须有一个好的基础,运动学、动力学与静力学、强度的识别材料(对材料了解)2023-07-17 14:04:261
帮我翻译几个句子
1.电力传输的距离,它是几乎微不足道的损失电流。(如果用电力传输,几乎不损失电流)2.机器的发明使世界进入了一个新的时代——工业时代富有的国王(大国)。3.(宽)带通常不是一个目标发射太空交通工具如此不违反国际协议,禁止外商对象的空间堆满。4.一个设计师必须有一个好的基础,运动学、动力学与静力学、强度的识别材料(对材料了解)2023-07-17 14:04:361
什么是佛学的四静虑?
四静虑(Fourstatics),佛教禅观修持者,在禅定中,由摄心一处,专注一境,离却一切攀缘妄想,而达到身心清净安逸的境界。四静虑是:1. 第一静虑:即色界四禅,离生喜乐地以上,为四禅天。2. 第二静虑:即无色界四定,空无边处地以上,为四无色定。3. 第三静虑:即四无量心,慈、悲、喜、舍。4. 第四静虑:即四圣谛,苦、集、灭、道。2023-07-17 14:04:442
phpcms 怎么用七牛云存储
1、首先去github下载百度编辑器UEditor,去github下载:目录命名为uediter,放在/statics/js/目录下面;2、修改/phpcms/libs/classes/下的form.class文件:if(!defined("EDITOR_INIT")) { $str = "<script type="text/javascript" src="".JS_PATH."ckeditor/ckeditor.js"></script>"; define("EDITOR_INIT", 1); } 替换为:if(!defined("EDITOR_INIT")) { $str .= "<script type="text/javascript" src="".JS_PATH."ueditor/editor_config.js"></script>"; $str .= "<script type="text/javascript" src="".JS_PATH."ueditor/editor_all.js"></script>"; $str .= "<link rel="stylesheet" href="".JS_PATH."ueditor/themes/default/ueditor.css"/>"; define("EDITOR_INIT", 1); } $str .= "<script type="text/javascript"> "; $str .= "var editor = new baidu.editor.ui.Editor();editor.render("$textareaid");"; $str .= "</script>";修改Ueditor根目录下的ueditor.config.js其中的配置如下:相当于指定一下ueditor的路径window.UEDITOR_HOME_URL = "/statics/js/ueditor/";var URL = window.UEDITOR_HOME_URL || getUEBasePath();,imagePath:"七牛分配的域名或者你绑定的域名",savePath: ["your bucket"],filePath:"七牛分配的域名或者你绑定的域名" ,imageManagerPath:"七牛分配的域名或者你绑定的域名"3、修改编辑器默认宽度和高度,因为phpcms默认编辑器没有那么大,具体修改方法是:找到如下代码,并把前面的两条“//”删除。//,initialFrameWidth:698 //初始化编辑器宽度,默认1000//,initialFrameHeight:400 //初始化编辑器高度,默认320即变为:,initialFrameWidth:655 //初始化编辑器宽度,默认1000,initialFrameHeight:400 //初始化编辑器高度,默认320修改根目录下/php/conf.php中的代码$QINIU_ACCESS_KEY = "your ak";$QINIU_SECRET_KEY = "your sk";$BUCKET = "your bucket";2023-07-17 14:04:531
汇编语言编程
VARDW2278H,2DUP(?),"ABCD"2023-07-17 14:05:142
PHPcms 怎么约束内容里图片规格
我们可以从两个方面对内容里的图片进行大小约束:后台添加内容是在编辑器中直接设置图片的显示大小,通过在编辑器中双击你要设置的图片即可弹出设置对话框,在对话框中包括图片的所有信息都可以设置,当然包括宽高,在图片宽高中设置数值(单位像素)即可。如果你感觉每次添加内容都需要挨个设置图片的大小麻烦,那么我们可以在文章内容页模板中通过js程序直接自动调整内容中的图片大小到你想要的宽高。具体操作如下:在你的文章内容页模板中假设内容是放在一个id为container的div中:<div id="container">{$container}</div>,那么我们可以使用如下js来约束图片大小:首先在网页头部引入jquery.sgallery.js文件(/statics/js/jquery.sgallery.js phpcms自带程序);然后在container后面加入如下js代码调用里面的图片约束程序:PS:第二种办法可以参考phpcms原套模板中的content/show.html。更多phpcms v9使用与模板制作开发教程可参考iphpcms的视频教程。2023-07-17 14:05:211
fm2015 fmf文件放哪里
战术的话 我的文档里 fm对应文件夹的statics文件夹2023-07-17 14:05:541
什么是弦切线定理
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示! 线的判定和性质切线的判定定理 经过半径的外端并且垂直于这条半径的直线是圆的切线几何语言:∵l ⊥OA,点A在⊙O上∴直线l是⊙O的切线(切线判定定理)切线的性质定理 圆的切线垂直于经过切点半径几何语言:∵OA是⊙O的半径,直线l切⊙O于点A∴l ⊥OA(切线性质定理)推论1 经过圆心且垂直于切线的直径必经过切点推论2 经过切点且垂直于切线的直线必经过圆心切线长定理定理 从圆外一点引圆的两条切线,它们的切线长相等,圆心和这一点的连线平分两条切线的夹角几何语言:∵弦PB、PD切⊙O于A、C两点∴PA=PC,∠APO=∠CPO(切线长定理)弦切角弦切角定理 弦切角等于它所夹的弧对的圆周角几何语言:∵∠BCN所夹的是 ,∠A所对的是∴∠BCN=∠A推论 如果两个弦切角所夹的弧相等,那么这两个弦切角也相等几何语言:∵∠BCN所夹的是 ,∠ACM所对的是 , =∴∠BCN=∠ACM切线长定理:从圆外一点引圆的两条切线,它们的切线长相等,圆心和这一点的连线平分两条切线的夹角.4.弦切角概念:顶点在圆上,一边和圆相交、另一边和圆相切的角叫做弦切角.它是继圆心角、圆周角之后第三种与圆有关的角.这种角必须满足三个条件:(1)顶点在圆上,即角的顶点是圆的一条切线的切点;(2)角的一边和圆相交,即角的一边是过切点的一条弦所在的射线;(3)角的另一边和圆相切,即角的另一边是切线上以切点为端点的一条射线.它们是判断一个角是否为弦切角的标准,三者缺一不可,比如下图中 均不是弦切角.(4)弦切角可以认为是圆周角的一个特例,即圆周角的一边绕顶点旋转到与圆相切时所成的角.正因为如此,弦切角具有与圆周角类似的性质.弦切角定理:弦切角等于它所夹的孤对的圆周角.它是圆中证明角相等的重要定理之一.切割线定理:从圆外一点引圆的切线和割线,切线长是这点到割线与圆交点的两条线段长的比例中项。推论:从圆外一点引圆的两条割线,这一点到每条割线与圆的交点的两条线段长的积相等。http://resource.a***.cn/statics/tbfd/czpds/tbfd/c3sx/c3sx05/zsjj.htm2023-07-17 14:06:032
html5上下滑动“翻页”实现,是真正的翻页
请问你解决了吗?我也想知道怎么做2023-07-17 14:06:113
数字7英文怎么写
简单说:seven。中文:72023-07-17 14:06:277
想问下eviews软件中为什么如果prob的值大于0.05,该怎么办?做eviews时候没有出现f-statics又是什么原因
P值大于0.05说明这个估计系数在5%的水平下不显著。不太可能没出现 F值,那有可能变量数据有问题吧,2023-07-17 14:06:491
为什么我在做adams/car后悬架输入硬点仿真时总是报错啊?换了电脑 ,换了版本还是不行
那就换电脑吧2023-07-17 14:07:092
阿基米德的简介(英文加中文翻译)
Greek mathematician and physicist noted for his work in hydrostatics and mechanics and geometry (287-212 BC)2023-07-17 14:07:282
Android里子线程真的不能刷新UI吗?
Android里子线程真刷新UI方法如下: 首先,CalledFromWrongThreadException这个异常是有下面的代码抛出的: void checkThread() { if (mThread != Thread.currentThread()) { throw new CalledFromWrongThreadException( "Only the original thread that created a view hierarchy can touch its views."); }}该段代码出自 framework/base/core/java/android/view/ViewRoot.java 其次,看看RootView的构造函数: public ViewRoot(Context context) { super();if (MEASURE_LATENCY && lt == null) { lt = new LatencyTimer(100, 1000); }// For debug only //++sInstanceCount;// Initialize the statics when this class is first instantiated. This is // done here instead of in the static block because Zygote does not // allow the spawning of threads. getWindowSession(context.getMainLooper());mThread = Thread.currentThread(); mLocation = new WindowLeaked(null); mLocation.fillInStackTrace(); mWidth = -1; mHeight = -1; mDirty = new Rect(); mTempRect = new Rect(); mVisRect = new Rect(); mWinFrame = new Rect(); mWindow = new W(this, context); mInputMethodCallback = new InputMethodCallback(this); mViewVisibility = View.GONE; mTransparentRegion = new Region(); mPreviousTransparentRegion = new Region(); mFirst = true; // true for the first time the view is added mAdded = false; mAttachInfo = new View.AttachInfo(sWindowSession, mWindow, this, this); mViewConfiguration = ViewConfiguration.get(context); mDensity = context.getResources().getDisplayMetrics().densityDpi; } 最后,我们看看ViewRoot.checkThread的调用顺序:com.david.test.helloworld.MainActivity$TestThread2.run -> android.widget.TextView.setText -> android.widget.TextView.checkForRelayout -> android.view.View.invalidate -> android.view.ViewGroup.invalidateChild -> android.view.ViewRoot.invalidateChildInParent -> android.view.ViewRoot.invalidateChild -> android.view.ViewRoot.checkThreadlinux2023-07-17 14:07:562
WIN7下如何通过编程控制网页
我可以用VB.NET来实现你的要求,用getElementByID之类的方法,VC我还没学这块2023-07-17 14:08:064
如何用spss计算几个variables之间的均值。
1.第一个问题用描述统计,Analyse-descriptive Statics-第一个频数分析和第二个描述分析都可以,看output的Mean很简单的2.第二个用Analyse-Correlation下面的第一个线性相关,看系数是否大于0.7,如果相关系数大于0.7说明有相关,大于0.9说明高相关3.给你的建议,你的问卷设计存在些问题,比如品牌质量的题有四道,这四道真的都是对品牌质量有效地测量吗?四个题目之间是否有相关?(好的题目是它们之间没相关)等等2023-07-17 14:08:381
java中请求参数action怎么获取
1. ActionContext在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值:ActionContext context = ActionContext.getContext();Map params = context.getParameters();String username = (String) params.get("username");on执行时的上下文,上下文可以看作是一个容器(其实我们这里的容器就是一个Map而已),它存放的是Action在执行时需要用到的对象. 一般情况, 我们的ActionContext都是通过: ActionContext context = (ActionContext) actionContext.get();来获取的.我们再来看看这里的actionContext对象的创建:static ThreadLocal actionContext = new ActionContextThreadLocal();ActionContextThreadLocal是实现ThreadLocal的一个内部类.ThreadLocal可以命名为"线程局部变量",它为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突.这样,我们ActionContext里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的.通过ActionContext取得HttpSession: Map session = ActionContext.getContext().getSession();2. ServletActionContextServletActionContext(com.opensymphony.webwork. ServletActionContext),这个类直接继承了我们上面介绍的ActionContext,它提供了直接与Servlet相关对象访问的功能,它可以取得的对象有:(1)javax.servlet.http.HttpServletRequest : HTTPservlet请求对象(2)javax.servlet.http.HttpServletResponse : HTTPservlet相应对象(3)javax.servlet.ServletContext : Servlet上下文信息(4)javax.servlet.ServletConfig : Servlet配置对象(5)javax.servlet.jsp.PageContext : Http页面上下文如何从ServletActionContext里取得Servlet的相关对象:<1>取得HttpServletRequest对象: HttpServletRequest request = ServletActionContext. getRequest();<2>取得HttpSession对象: HttpSession session = ServletActionContext. getRequest().getSession();3. ServletActionContext和ActionContext联系ServletActionContext和ActionContext有着一些重复的功能,在我们的Action中,该如何去抉择呢?我们遵循的原则是:如果ActionContext能够实现我们的功能,那最好就不要使用ServletActionContext,让我们的Action尽量不要直接去访问Servlet的相关对象.注意:在使用ActionContext时有一点要注意: 不要在Action的构造函数里使用ActionContext.getContext(),因为这个时候ActionContext里的一些值也许没有设置,这时通过ActionContext取得的值也许是null;同样,HttpServletRequest req = ServletActionContext.getRequest()也不要放在构造函数中,也不要直接将req作为类变量给其赋值。至于原因,我想是因为前面讲到的static ThreadLocal actionContext = new ActionContextThreadLocal(),从这里我们可以看出ActionContext是线程安全的,而ServletActionContext继承自ActionContext,所以ServletActionContext也线程安全,线程安全要求每个线程都独立进行,所以req的创建也要求独立进行,所以ServletActionContext.getRequest()这句话不要放在构造函数中,也不要直接放在类中,而应该放在每个具体的方法体中(eg:login()、queryAll()、insert()等),这样才能保证每次产生对象时独立的建立了一个req。4. struts2中获得request、response和session(1)非IoC方式方法一:使用org.apache.struts2.ActionContext类,通过它的静态方法getContext()获取当前Action的上下文对象。ActionContext ctx = ActionContext.getContext();ctx.put("liuwei", "andy"); //request.setAttribute("liuwei", "andy"); Map session = ctx.getSession(); //sessionHttpServletRequest request = ctx.get(org.apache.struts2.StrutsStatics.HTTP_REQUEST); HttpServletResponse response = ctx.get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);细心的朋友可以发现这里的session是个Map对象, 在Struts2中底层的session都被封装成了Map类型. 我们可以直接操作这个Map对象进行对session的写入和读取操作, 而不用去直接操作HttpSession对象.方法二:使用org.apache.struts2.ServletActionContext类public class UserAction extends ActionSupport {//其他代码片段private HttpServletRequest req; // private HttpServletRequest req = ServletActionContext.getRequest(); 这条语句放在这个位置是错误的,同样把这条语句放在构造方法中也是错误的。public String login() {req = ServletActionContext.getRequest(); //req的获得必须在具体的方法中实现user = new User();user.setUid(uid);user.setPassword(password);if (userDAO.isLogin(user)) {req.getSession().setAttribute("user", user);return SUCCESS;}return LOGIN;}public String queryAll() {req = ServletActionContext.getRequest(); //req的获得必须在具体的方法中实现uList = userDAO.queryAll();req.getSession().setAttribute("uList", uList);return SUCCESS;}//其他代码片段 }(2)IoC方式(即使用Struts2 Aware拦截器)要使用IoC方式,我们首先要告诉IoC容器(Container)想取得某个对象的意愿,通过实现相应的接口做到这点。public class UserAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {private HttpServletRequest request;private HttpServletResponse response;public void setServletRequest(HttpServletRequest request) {this.request = request;}public void setServletResponse(HttpServletResponse response) {this.response = response;}public String execute() {HttpSession session = request.getSession();return SUCCESS;} }2023-07-17 14:08:471
VB里面的命令按钮是什么?
把鼠标移动到工具箱(VB最坐边的这一栏)的第三行,第二个.你把鼠标移到它上面的时候就有提示控件名(Commandbutton),这个就是命令按钮.双击它,就自动在窗体上添加了命令按钮.2023-07-17 14:09:083
战地2子弹、炮弹弹药材质大全
以上信息出处: http://home.51.com/q597775521/diary/item/10052945.html 以上信息出处国外论坛: http://www.realitymod.com/forum/f388-pr-bf2-community-modding/56678-questions-material-list-statics-location.html codegay 2017-3-27 17:48:182023-07-17 14:09:151
java 在servlet中怎么获得requestcontext
在web项目中,如果需要在后台java代码中获取web上下文对象(以及session、request、response等对象),可以使用ActionContext类:ActionContextcontext=ActionContext.getContext();--得到Action执行的上下文在获取了context后,还可以继续获取session等对象:Maprequest=(Map)context.get("request");--得到HttpServletRequest的Map对象Mapsession=context.getSession();--得到HttpSession的Map对象Mapapplication=context.getApplication();--得到ServletContext的Map对象也可以直接使用常量枚举作为参数获取内置对象:HttpServletResponseresponse=(HttpServletResponse)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);HttpServletRequestrequest=(HttpServletRequest)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);2023-07-17 14:09:241
java 在servlet中怎么获得requestcontext
如果是文件上传时遇到的问题的话检查一下是不是没有common-fileupload.jar包,还有类导入是不是以下几个import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;2023-07-17 14:09:342
Administrator帐户密码忘记了,怎么呢
急2023-07-17 14:09:505
XP登陆密码忘记了,有什么方法可以进入系统?
Windows登录密码轻松破解使用迅雷下载ftp://soft.tedi.com.cn:2121/dospass.exe当你在使用电脑时,不小心将管理员登录密码忘记了,怎么办呢?虽然网上和各IT杂志介绍了很多种破解管理员登录密码的方法,但操作起来都比较麻烦,并且针对不同的系统须要用不同的破解方法。例如,用破解Winodws 2000的方法,来破解Windows XP和Windows 2003就不行了(会在启动系统时出现“安全账户初始化失败”的提示)。清除2K/XP/2K/2003的用户密码.支持NTFS/FAT32分区 下面介绍该软件的使用方法。 软件下载解压后会出现一个仅为27KB的.exe执行文件。进入DOS环境运行dospass,在“Your choince:[ ]”中输入“1”(选择逻辑磁盘),按Enter键后,会出现显示你的电脑硬盘分区表窗口,此时你仍然继续按Enter键,会出现已检测到磁盘MS SAM Database文件窗口。再继续按Enter键,系统中的用户会全部显示出来,在“Your choince:[ ]”中输入“0”后按Enter键(如果你的系统管理员用户名称不是Administrator,而是其他名称的话,只要输入其名称前的序列号即可)。 2.在出现“Would you like to Rest this User"s password? (Y,N)[N] : [ ]”提示后,你输入“Y”后按Enter键,稍等一会儿就出现“Password has been successfully reset. (Press any key…)”提示,说明密码破解成功。重新启动计算机即可直接登录系统了2023-07-17 14:10:042
C#中怎样在一个类中写方法给RDLC报表传递参数值
List<ReportParameter> parameters = new List<ReportParameter> ( ); string StaticsInfo = string.Format ( SR.Get ( "StatisticsInfo" ), ProjectManager.CurrentProject.RawDataList.Count.ToString ( ) ); parameters.Add ( new ReportParameter ( "StaticsInfo", StaticsInfo ) ); parameters.Add ( new ReportParameter ( "Title", model.Title )); parameters.Add ( new ReportParameter ( "KeyColumn", model.KeyColumn ) ); parameters.Add ( new ReportParameter ( "ValueColumn", model.ValueColumn ) ); parameters.Add ( new ReportParameter ( "Language", model.Culture.Name ) ); parameters.Add ( new ReportParameter ( "CommentColumn", model.CommentColumn ) ); parameters.Add ( new ReportParameter ( "Copyright", model.Copyright ) ); LocalReport report = new LocalReport ( ); report.ReportEmbeddedResource = "ControlEase.LocalizationRobot.Office.Exporter.ReportValues.rdlc"; report.SetParameters ( parameters );2023-07-17 14:10:111
战场太平洋战役使用军舰
估计你还没打到后面,日军或者美军战役一都是熟悉各个机种的使用.二战的战斗机难道还有导弹吗?当然只有机炮...另,不明白什么是桌面汉化图....是指启动选项的汉化吗?2023-07-17 14:09:412
一部好的欧洲历史文献
《极简欧洲史》“欧洲,为什么老是抢第一?”澳大利亚知名历史学家约翰·赫斯特在本书中的一场引人入胜的探索,为我们梳理出欧洲文明所以能改变全世界的各种特质。作者从三大元素:古希腊罗马文化、基督教教义以及日耳曼战士文化开篇,描述了这三大元素如何彼此强化,又相互对立,最终形塑为欧洲文明的内核;继而在诸多世纪以来催生帝国与城邦,激发征服与十字军东侵,造就出许多性格截然分明的人物──如仁慈的皇帝、好斗的教皇、侠义的骑士,乃至世上第一批享受繁荣和启蒙果实的公民。哲学思维与民主制度的渊源、政治权力的传递,甚至是医学、生物学使用拉丁文的源始,这种种欧洲因素不断形塑了现代文明的各种特质,使欧洲遥遥走在现代世界的前列。本书以清晰、幽默、发人深省的笔调,杂以活泼的插图,叙述了一个不同凡响的文明,及其对人类社会的巨大冲击与巨大贡献。 作者简介约翰·赫斯特(John Hirst),澳大利亚与英联邦权威的社会暨政治历史学家、欧洲史专家。现任墨尔本的拉筹伯大学(La Trobe University)历史系教授。赫斯特教授曾是澳大利亚首相咨询委员会、澳大利亚国家博物馆评议会成员,并担任澳大利亚联邦公民教育委员会主席至今,常在澳大利亚各大报章杂志为文,对公民教育的提升着力甚深。著作包括《极简欧洲史》、《澳大利亚人:1770年以来的民族精神知情者与局外人》、《命运海岸上的自由:澳大利亚的第一块殖民地》、《澳大利亚史上的睿识与胡言》和《寻找澳大利亚》等。2023-07-17 14:09:421
抖M详细资料大全
抖M是指有受虐倾向的一种人,与抖S(虐待倾向)正好相反,亦指一种人物性格和心理倾向,是ACGN次文化中的萌属性之一。 “M”取自英文“Masochi *** ”的首字母,指受虐癖好或具有受虐癖好的人。 基本介绍 中文名 :抖M 释义 :有受虐倾向的一种人 反义词 :抖S 典型角色 :白井黑子 解释,出处,属性角色, 解释 抖”就是加在S或M前的语气词,表示一种严重的,重度的 抖M「ドM」是指在“被 虐”的过程获得 *** 的人,喜欢被欺负,性格弱。 而人们俗称的攻受,一般用于两名男性之间的关系。一般来说,两位男性中男m称为受,男s称为攻。 「ド」是「ドレッドノート」的缩写,来自于英文Dreadnought,是战舰的一个等级。在日语中「ド级戦舰」是「ドレッドノート级戦舰」的简称,翻译成中文应该是“无畏级战舰”。 出处 受虐癖“Masochi *** ”一字是来自一位十九世纪作家马索克(Leopold von Sacher-Masoch)的名字,他的知名小说《穿裘皮的维纳斯》(Venus in Furs)也有大量的受虐癖题材。 该类人在被虐待的时候会获得强烈的 *** 。 属性角色 猿飞菖蒲————《银魂》仅限银时,对其他人则会变成S(这是度娘说的) 宫前佳奈子————《玛利亚狂热》 Stocking————《Panty & Stocking with Garterbelt》 濑川泉————《旋风管家》(自己说“希望被欺负”) 阿纳斯塔西娅————《你是主啊我是仆》(重度M) 比那名居天子、莉格露·奈特巴格、铃仙·优昙华院·因幡————《东方Project》(二次设定) 白井黑子————《某科学的超电磁炮》(仅限面对御坂美琴) 蓝发耳环————《魔法禁书目录》 克子————《潜行吧!奈亚子》(一般只对奈亚子和“少(Sao)年”真寻有效) 桂木华、皋月菖蒲————《圣痕炼金士》 长月早苗————《侵略!乌贼娘》 砂户太郎————《MM一族》 犬神桃央————《穷神》 史蒂芬妮·多拉————《游戏人生》(游戏人生小说版:实践性战争游戏-三次重复棋局)算是隐藏属性吧?每次被空和白奇怪的对待只是害羞其实完全不反感呢~ 小鸟游宗太(小鸟儿) ———— 《迷糊餐厅》(啊咧,有奇怪的东西混进来了) 钱形小樱————《裁断分离之罪恶剪刀》 柏崎星奈————《我的朋友很少》 室见————《人鱼又上钩》 朱鹭户沙耶————《Little Busters!》(觉醒前喜欢用语言自虐,觉醒后碰到陷阱会有 *** (被雷射切过时)啊...好舒服”;“又是陷阱?!不过既然这么舒服,无所谓了” 神无月恭平 ———— 《约会大作战》(纳尼!又有什么奇怪的东西混进来了) 柊铃菜————《狗与剪刀的正确用法》 阿良良木火怜————《物语系列》曾经有被阿良良木历刷牙Play的黑历史...... 佐仓蜜柑————《爱丽丝学园》 一方通行————《魔法禁书目录》 被上条当麻子の友情破颜拳 *** 后喜欢用脸接拳 达克妮斯————《为美好的世界献上祝福》为了满足这个癖好,把属性全加在防御上了,一般的攻击根本伤不到分毫,也是目前为止第一个肉身硬抗丹尼尔的杀人射线还活着的) 平家boy————《哲学》 处女座芭露歌————《妖精的尾巴》 红Berserker————《Fate/Apocrypha》 公螳螂————《黑猫警长》“如果你真爱我的话,就请吃掉我吧” 齐木空助————《齐木楠雄的灾难》2023-07-17 14:09:431
library是什么意思
library是一个英语单词,可以用作名词,意思是图书馆,藏书,书屋,图书出租处,等等。比如:BodleianLibrary(博德利图书馆);speciallibrary(专业图书馆);WrenLibrary(莱恩图书馆)。library同时还是一个手机制作照片软件的名称,可以快速制作出精美的九宫格等图片。双语例句:Doyoulikethelibrary,ornot?你是否喜欢这个图书馆?Ilikelibrary.我喜欢图书馆。Whatdoyouhaveto?---Wehavetobequietinthelibrary.你们必须做什么?---我们必须在图书馆里保持安静。2023-07-17 14:09:431
云计算服务器怎么选择?
近年来,应用上云在世界范围内有明显加速趋势。全球云计算趋势报告显示使用ERP SaaS服务的企业比例在过去一年内从27%猛增至64%。面对这种趋势,企业网络架构也正在经历变革。过去的应用主要集中在企业数据中心IDC,企业大量使用星型网络架构,通过专线连通分支机构与IDC。随着ERP、CRM、企业办公、视频通信等应用逐渐迁移到公共云,企业分支与公共云之间的数据传输量猛增。在选择云服务器时,我们一般要考虑4个因素:稳定性、丢包率、速度和延迟,最重要的肯定是稳定性,不仅是云服务器的稳定性,还有稳定性。作为一家全球性的云厂商,目前阿里云对外提供的大数据服务非常丰富。从产品组合来看,丰富性领先业界。据Gartner报告,这些服务包括提取、转换和加载的云服务DataWorks,联机分析处理数据仓库服务AnalyticDB,基于开源的E-MapReduce服务,关系型数据库,非关系型数据库,金融级数据库服务等。云服务器是Paas也就是平台级服务可以在服务器上搭建任何服务不仅仅是数据库。阿里云服务器公网宽带计费模式可选按固定宽带和按使用流量两种方式,阿里云带宽如何收费?阿里云服务器带宽计费模式可选“按固定带宽”和“按使用流量”两种计费方式,如何选择?按固定带宽:按固定宽带是指定公网宽带大小,如10Mbps,宽带值是固定的;这种计费模式是预付费形式,带宽费用合并在ECS实例中收取;按使用流量:按使用流量是根据云服务器实际在公网出方向产生的流量来计费,类似手机流量计费,用多少流量支付多少流量费;按使用流量是后付费模式,按使用流量(单位为GB)计费,每小时扣费。如果不知道自己想选什么地区的服务器,可以看看地域表。因为云服务器项目是面向全球的,所以需要多个地区协作。同时注意,不同地域是不连通的。带宽方面,如果是小型网站,建议按量收费。大型网站,按固定带宽收费。同时,阿里云提供恶意流量攻击防护。2023-07-17 14:09:392
哪种吉他比较好用?
吉d他z排x行cv榜http://m.qzone.com/details?ticket=&stat=&srctype=10&g_f=2000000209&res_uin=3091521259&appid=2&cellid=1430643024&no_topbar=1&subid=&g_ut=3n真想沿着长城开一条清河,吉他比较好驾着轻舟采集欢跳的浪花,吉他比较好把浪花撒向空中看它漫漫,吉他比较好浩瀚的沙漠探出无数幼芽,吉他比较好2023-07-17 14:09:362
glad证书含金量
glad证书含金量高。glad证书是国际认证学习证书,商务专业应用能力国际认证商务专业应用能力国际认证,简称BAP认证,是第一张强调学习概念的Office国际认证。2023-07-17 14:09:341
英语中含有颜色的的短语 例如black tea
blue bird2023-07-17 14:09:343