- 浏览: 292427 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
SpringJava:
摘过来的
小心使用ArrayList和LinkedList -
jingjing0907:
我要成为第一个赞的人!呵呵,
小心使用ArrayList和LinkedList -
SpringJava:
cilendeng 写道应该用ConcurrentHashMa ...
实现单用户登陆session先进先出(session踢出) -
lingxiajiudu:
不错,完美解决我了的问题,赞一个。
子窗体给父窗体传值 javascript opener -
cilendeng:
应该用ConcurrentHashMap
实现单用户登陆session先进先出(session踢出)
Troubleshooting guide migrating from Struts 2.0.x to 2.1.x
About the
Migration guide
This guide describes how to migrate an existing Struts 2.0.x application to Struts 2.1.x. It is intended to be read from top to bottom but you may skip-ahead to known problems and common exceptions. Please edit this page or provide comments if you encounter additional issues.
Update Dependencies
Update your project dependences to use struts2-core-2.1.x and the plugins struts2-core-2.1.x.
|
There have been significant changes to the Configuration API between 2.0 and 2.1. Third-party plugins for 2.0 may not be compatible with 2.1.x. |
Maven users can update their project's pom.xml to reference the new core and plugin versions. Ensure no dependencies in the freemarker groupId are used as the latest version used by Struts is now under the org.freeemarker groupId and will cause classpath conflicts.
If you need releases not considered General Availability you can use a staging repository where they are usually available:
<repositories>
<repository>
<id>struts2.1.2-staging</id>
<name>Struts 2.1.2 staging
repository</name>
<layout>default</layout>
<url>http://people.apache.org/builds/struts/2.1.2/m2-staging-repository/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Non-Maven
users can can download the
jars and dependencies in a Distribution 2.1.2<!-- [if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
alt="" href="http://people.apache.org/builds/struts/2.1.2/" mce_href="http://people.apache.org/builds/struts/2.1.2/" title=""Visit page outside Confluence""
style='width:5.25pt;height:5.25pt' o:button="t">
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.gif" mce_src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" />
</v:shape><![endif]--><!-- [if !vml]-->
<!-- [endif]-->
|
DELETE OLD VERSIONS NOW
: It's essential that old versions of the jars are removed from your
project as well as the deployment directories
. Don't trust your IDE to
delete unused versions. |
If your project implements custom type converters you may need to change the imports statements to use the com.opensymphony.xwork2.conversion package. Failing to do so will cause a compile-time error.
Before:
import com.opensymphony.xwork2.util.TypeConversionException;
After:
import com.opensymphony.xwork2.conversion.TypeConversionException;
Update struts.xml Configuration
Results and Interceptors have been renamed to use camelCase instead of
hyphenated names (eg. now redirectAction instead of redirect-action).
Review all custom interceptor stacks, interceptor refs and results in
struts.xml and remove the hyphen.
Interceptors:
From |
To |
external-ref |
externalRef |
model-driven |
modelDriven |
static-params |
staticParams |
scoped-model-driven |
scopedModelDriven |
servlet-config |
servletConfig |
token-session |
tokenSession |
Results:
From |
To |
redirect-action |
redirectAction |
plaintext |
plainText |
|
Forgetting to rename an interceptor or result reference will prevent your WebApp from starting. The following is a typical stacktrace for an invalid result type. SEVERE: Exception starting filter struts2 |
Migrate plugin configuration
Tiles 2
If you use the Tiles 2 plugin, check your tiles.xml file(s) to ensure they contain a DOCTYPE.
<!DOCTYPE tiles-definitions PUBLIC "-
//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http:
//tiles.apache.org/dtds/tiles-config_2_0.dtd"
>
<tiles-definitions>
...
|
A missing DOCTYPE in your Tiles configuration will prevent your WebApp from starting. The following is a typical stacktrace for a missing Tiles DOCTYPE. INFO: Initializing Tiles2 container. . .
Nov 22, 2007 11:38:11 AM org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 2 column 19: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
|
Ajax Theme / Dojo
If your WebApp uses the ajax theme bundled with Struts 2.0 (ajax tags), you need to update every pageas the Dojo support has been moved into a separate plugin and tag library.
1. Add the Dojo plugin as a new dependency for your project
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-dojo-plugin</artifactId>
<version>2.1.1</version>
</dependency>
2. Modify ALL pages that use the ajax theme to use the Dojo tag library.
For each page there are three tasks to complete:
- reference the new Dojo tag library
- update the head tag
- update all ajax themed tags
- check inline scripts
- check inline widgets
|
If this is a major undertaking for your application, it's recommended to modify, test and validate each page one at a time. |
Reference the new Dojo Tag Library
Reference the new taglib in your JSP or FTL pages.
Before
<%@ page contentType= "text/html; charset=UTF-8" %>
<%@ taglib prefix= "s" uri= "/struts-tags" %>
After
<%@ page contentType= "text/html; charset=UTF-8" %>
<%@ taglib prefix= "s" uri= "/struts-tags" %>
<%@ taglib prefix= "sx" uri= "/struts-dojo-tags" %>
|
Many pages will require both the core and dojo tags. The sx: prefix is preferred for the Dojo tags. |
Update the head tag
Review the new attributes of the new head tag. You need to decide which values for the cache, compressed, parseContent and extraLocales attributes are appropriate for your application. These settings have major performance implications.
Before:
<s:head theme= "ajax" />
After:
<sx:head parseContent= "true" />
Update all ajax themed tags
Some tags are available only in the Dojo plugin taglib. It
will be immediately obvious from your IDE that these tags need to change to the
sx: prefix.
Some tags are available in both the core and Dojo plugin taglibs. Any tag that
uses the ajax
theme needs to be changed to the sx: prefix.
Before:
<s:url id= "jobStatus" includeParams= "get" value= "/RefreshOptimizationJobStatus.action" />
<s:div id= "jobStatus" theme= "ajax" href= "%{jobStatus}" updateFreq= "5000" indicator= "indicator" > </s:div>
<img id= "indicator" src= "img/indicator.gif" alt= "Loading..." style= "display:none" />
After:
<s:url var= "jobStatus" includeParams= "get" value= "/RefreshOptimizationJobStatus.action" />
<sx:div id= "jobStatus" href= "%{#jobStatus}" updateFreq= "5000" autoStart= "true" indicator= "indicator" > </sx:div>
<img id= "indicator" src= "img/indicator.gif" alt= "Loading..." style= "display:none" />
|
If you forget to migrate a tag reference from the core to the dojo plugin you will receive an exception similar to the one below: 2008-04-19 14:32:30,475 ERROR [http-8443-Processor23] [[jsp]] Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: No tag "datetimepicker" defined in tag library imported with prefix "s"
|
Check inline javascript
If your ajax html results contain inline javascript that
needs to be executed after updating the DOM, ensure your ajax tags set
executeScripts="true" and separateScripts="true". These
attributes instruct the widget to search for javascript in the result,
extract it, update the DOM with the result and then execute the javascript.
eg. The following bind will execute scripts within the result when the Submit button is pressed
<s:submit value="Submit"
id="submit3"
/>
<sx:bind targets="div1"
highlightColor="#ffffcc“
highlightDuration="500”
sources="submit3"
events="onclick"
href="%{#fragment3Url}"
errorNotifyTopics="/error"
executeScripts="
true
"
separateScripts="
true
"
/>
Check inline widgets
If your ajax html results include dojo widgets, ensure the head tag's parseContent attribute is true. This instructs dojo to parse the ajax responses for widgets. Note that Struts2.0 always enabled this feature and it could not be turned off. Struts2.1 disables this feature and allows it to be turned on as there is a significant performance impact.
Convert EL expressions to OGNL
Struts2.1 tags do not allow evaluation of JSP EL within their attributes. Instead, Struts2 tags evaluate attribute values as OGNL. Allowing both expression languages within the same attribute opens major security vulnerabilities.
todo: how to convert
|
Forgetting to convert attributes to OGNL expressions will produce exceptions similar to the one below: org.apache.jasper.JasperException: /example.jsp(8,6) According to TLD or attribute directive in tag
file, attribute value does not accept any expression
|
Reduce verbose logging
Struts 2.1 introduces more verbose logging than Struts 2.0. While extremely valuable, some users may find these annoying.
Missing Properties
This message states that the framework searched for a property in the value stack and failed to find it.
2008-04-19 14:21:08,177 WARN
[http-8443-Processor25] [OgnlValueStack] Could not find property [templateDir]
2008-04-19 14:21:08,177 WARN
[http-8443-Processor25] [OgnlValueStack] Could not find property [templateDir]
2008-04-19 14:21:08,177 WARN
[http-8443-Processor25] [OgnlValueStack] Could not find property [templateDir]
2008-04-19 14:21:08,178 WARN
[http-8443-Processor25] [OgnlValueStack] Could not find property [org.apache.catalina.jsp_file]
To hide these messages, turn off the WARN level logging for OgnlValueStack.
eg. Include a new limit category in your log4j.xml file (only log errors or worse):
<category name= "com.opensymphony.xwork2.ognl.OgnlValueStack" > <priority value= "error" /> </category>
TextProvider missing keys
These messages state that the framework searched for text in a resource bundle and failed to find it.
2008-04-19 14:32:30,106 WARN
[http-8443-Processor23] [TextProviderHelper] The first TextProvider in the ValueStack
(package.Action) could not locate the message resource with key 'companyDetails.addressId'
2008-04-19 14:32:30,107 WARN
[http-8443-Processor23] [TextProviderHelper] The default value expression
'companyDetails.addressId' evaluated to '10'
To hide those messages, turn off the WARN level logging for TextProviderHelper.
eg. Include a new limit category in your log4j.xml file (only log errors or worse):
<category name= "org.apache.struts2.util.TextProviderHelper" > <priority value= "error" /> </category>
Update Unit Tests
There are two known major migration issues affecting user's unit tests.
- The Configuration API now uses a Builder pattern
- The ActionContext.getContext() method does not create a context on demand.
Review the Unit Tests included with Struts2 for recommended practices to setup the Configuration and context.
A quick fix for ActionContext.getContext() returning null :
ConfigurationManager configurationManager = new
ConfigurationManager();
configurationManager.addContainerProvider(new
XWorkConfigurationProvider());
Configuration config = configurationManager.getConfiguration();
Container container = config.getContainer();
ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();
stack.getContext().put(ActionContext.CONTAINER, container);
ActionContext.setContext(new
ActionContext(stack.getContext()));
assertNotNull(ActionContext.getContext());
Trouble-shooting
The issues are listed in the same order as encountered after changing jars over from 2.0.x to 2.1.x. Noteworthy, the migration was done under the following setup: Fedora core 6, JDK 1.6.0_2 and Tomcat 6.0.10 running from MyEclipse plugin.
Result type "redirect-action" was renamed to "redirectAction":
SEVERE: Exception starting filter struts2
Unable to load configuration. - action - file:/home/giaz/code/.metadata/.plugins/
com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/webui/WEB-INF/classes/struts.xml:39:98
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:370)
...
Caused by: Error building results for
action ScheduleJob in namespace
- action - file:/home/giaz/code/.metadata/.plugins/
com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/webui/WEB-INF/classes/struts.xml:39:98
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:372)
... 30 more
Caused by: There is no result type defined for
type 'redirect-action' mapped with name 'success' - result -
file:/home/giaz/code/.metadata/.plugins/com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/webui/
WEB-INF/classes/struts.xml:40:50
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:616)
... 35 more
The struts.xml before:
<action name="ScheduleJob"
class="com.sag.optimizer.ui.web.action.scheduler.ScheduleJobAction"
>
<result name="success"
type="redirect-action"
>
<param name="actionName"
>ListDisplayOptimizationJobStatus</param>
</result>
<result name="error"
type="tiles"
>webui.requestFailed</result>
</action>
To resolve this issue modify the struts.xml action definition to:
<action name="ScheduleJob"
class="com.sag.optimizer.ui.web.action.scheduler.ScheduleJobAction"
>
<result name="success"
type="redirectAction"
>
<param name="actionName"
>ListDisplayOptimizationJobStatus</param>
</result>
<result name="error"
type="tiles"
>webui.requestFailed</result>
</action>
or to:
<action name="ScheduleJob"
class="com.sag.optimizer.ui.web.action.scheduler.ScheduleJobAction"
>
<result name="success"
type="redirect"
>ListDisplayOptimizationJobStatus.action</result>
<result name="error"
type="tiles"
>webui.requestFailed</result>
</action>
<!-- [if !supportLineBreakNewLine]-->
<!-- [endif]-->
Tiles 2.1.x plugin tiles.xml now requires DOCTYPE:
Problem Symptom:
Nov 22, 2007 11:38:11 AM org.apache.tiles.impl.BasicTilesContainer init
INFO: Initializing Tiles2 container. . .
Nov 22, 2007 11:38:11 AM org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 2 column 19: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
|
Reason for this This is due to the fact that Tiles 2.0.5 now turns validation on as default. |
The tiles.xml page before:
<?xml version="1.0"
encoding="ISO-8859-1"
?>
<tiles-definitions/>
To resolve the issue simply add:
<?xml version="1.0"
encoding="ISO-8859-1"
?>
<!DOCTYPE tiles-definitions PUBLIC
"-
//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http:
//struts.apache.org/dtds/tiles-config_2_0.dtd"
>
<tiles-definitions/>
<s:head theme="ajax"/> is obsolete, use a different theme:
Problem Symptom: Accessing any page that includes <s:head theme="ajax"/> produces the following error:
Nov 22, 2007 1:54:51 PM freemarker.log.JDK14LoggerFactory$JDK14Logger error
SEVERE:
Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl.
The problematic instruction:
----------
==> ${parameters.parseContent?string} [on line 45, column 26 in template/ajax/head.ftl]
----------
Java backtrace for
programmers:
----------
freemarker.core.InvalidReferenceException: Expression parameters.parseContent is undefined on line 45,
column 28 in template/ajax/head.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
Resolution is to either remove the "<s:head theme="ajax"/>" or use a different theme e.g. <s:head theme="xhtml" />
Ajax UI tags were moved to the new dojo plugin, use /struts-dojo-tags taglib instead of (or in addition to) /struts-tags:
Problem Symptom: Accessing a page containing ajax UI tags through using the struts 2 taglib will produce the following error:
SEVERE: Servlet.service() for
servlet jsp threw exception
org.apache.jasper.JasperException: /jsp/list/listOptimizationJobStatus.jsp(6,0) Attribute href invalid for
tag div according to TLD
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
JSP before migration:
<%@ page contentType="text/html; charset=UTF-8"
%>
<%@ taglib prefix="display"
uri="http:
//displaytag.sf.net"
%>
<%@ taglib prefix="s"
uri="/struts-tags"
%>
<s:url id="jobStatus"
includeParams="get"
value="/RefreshOptimizationJobStatus.action"
/>
<s:div id="jobStatus"
theme="ajax"
href="%{jobStatus}"
updateFreq="5000"
indicator="indicator"
>
</s:div>
<img id="indicator"
src="img/indicator.gif"
alt="Loading..."
style="display:none"
/>
Resolution is to import and use struts-dojo-tags plugin instead:
<%@ page contentType="text/html; charset=UTF-8"
language="java"
%>
<%@ taglib prefix="s"
uri="/struts-tags"
%>
<%@ taglib prefix="sx"
uri="/struts-dojo-tags"
%>
<s:url var
="jobStatus"
includeParams="get"
value="/RefreshOptimizationJobStatus.action"
/>
<sx:div id="jobStatus"
href="%{#jobStatus}"
updateFreq="5000"
autoStart="
true
"
indicator="indicator"
>
</sx:div>
<img id="indicator"
src="img/indicator.gif"
alt="Loading..."
style="display:none"
/>
|
Other Ajax UI tags were also moved to the dojo plugin Note the use of remote div is now through the dojo plugin taglib sx. Other ui tags are also no longer available through the /struts-tags taglib but only through the /struts-dojo-tags taglib: datetimepicker and autocompleter. |
User-defined converter (subclassing StrutsTypeConverter) will no longer be needed when using datetimepicker:
Problem Symptom: Your custom StrutsTypeConverter implementation does not longer work in version 2.1.x. In 2.0.x you needed to implement a custom StrutsTypeConverter e.g. StringToDateConverter to be able to parse and convert to Date the String posted from a datetimepicker control into the action. In version 2.0.x datetimepicker was posting a String formatted as specified in the "displayFormat" field e.g.
<%@ taglib prefix="s"
uri="/struts-tags"
%>
<s:datetimepicker label="Begin Date"
name="beginDate"
displayFormat="yyyy.MM.dd"
>
In version 2.1.x datetimepicker will post a String Date in RFC 3339 format, so you can define your setter to receive a Date directly and avoid using converters for this purpose e.g.
<%@ taglib prefix="s"
uri="/struts-tags"
%>
<%@ taglib prefix="sx"
uri="/struts-dojo-tags"
%>
<sx:datetimepicker label="Begin Date"
name="beginDate"
displayFormat="yyyy.MM.dd"
>
ActionMappingParams
Parameters set by the action mapping are not set/not available through ParameterAware (This change is only needed when going to 2.1.x (where x>0))
These are now only available if you use the new interceptor named "actionMappingParams".
发表评论
-
struts2.xml 中result type属性说明
2009-12-24 15:34 2660chain 用来处理Action链,被 ... -
Struts2.1.8 Project Dependencies
2009-12-17 14:37 1354struts2 commons-logging-1.0. ... -
struts2标签总结
2009-10-15 17:23 1157struts2标签总结 ====== ... -
struts2 标签
2009-10-15 16:08 2882struts2 标签 1. OGNL 中有生成 Li ... -
log4j文档
2009-04-24 12:15 1138一:Log4j的组件介 ... -
配置struts应用
2009-04-24 12:14 1016配置Struts应用 Struts应用采用两个基于XML ... -
ActionForm
2009-04-24 12:14 995ActionForm的生命周期 ActionFormB ... -
validator验证框架
2009-04-24 12:13 1107Validator验证框架 Struts框架能够在Act ... -
struts控制器组件
2009-04-24 12:12 856Struts 控制器组件 Struts控制器 ... -
对于struts2开发者比较实用的网站汇总
2009-04-24 11:40 933http://lib.verycd.com/2007 ... -
Struts2与Ajax
2009-04-24 11:38 1843Struts2和Struts相比,一个重大改进就是支持Ajax ...
相关推荐
2.1. 系统分析 在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。 在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据...
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
kolesar_3cd_01_0716
latchman_01_0108
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pimpinella_3cd_01_0716
petrilla_01_0308
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文档由张卓老师讲解,重点探讨DeepSeek的技术革新及强化学习对未来AI发展的重要性。文章回顾了AI的历史与发展阶段,详细解析Transformer架构在AI上半场所起到的作用,深入介绍了MoE混合专家以及MLA低秩注意机制等技术特点如何帮助DeepSeek在AI中场建立优势,并探讨了当前强化学习的挑战和边界。文档不仅提及AlphaGo和小游戏等成功案例来说明强化学习的强大力量,还提出了关于未来人工通用智能(AGI)的展望,特别是如何利用强化学习提升现有LLMs的能力和性能。 适用人群:本资料适宜对深度学习感兴趣的研究人员、开发者以及想要深入了解人工智能最新进展的专业人士。 使用场景及目标:通过了解最新的AI技术和前沿概念,在实际工作中能够运用更先进的工具和技术解决问题。同时为那些寻求职业转型或者学术深造的人提供了宝贵的参考。 其他说明:文中提到了许多具体的例子和技术细节,如DeepSeek的技术特色、RL的理论背景等等,有助于加深读者对于现代AI系统的理解和认识。
有师傅小程序开源版v2.4.14 新增报价短信奉告 优化部分细节
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
商城二级三级分销系统(小程序+后台含源码).zip
li_3ck_01b_0918
nicholl_3cd_01_0516
媒体关注度是一个衡量公众对某个事件、话题或个体关注程度的重要指标。它主要反映了新闻媒体、社交媒体、博客等对于某一事件、话题或个体的报道和讨论程度。 媒体监督的J-F系数(Janis-Fadner系数)是一种用于测量媒体关注度的指标,特别是用于评估媒体对企业、事件或话题的监督力度。J-F系数基于媒体报道的正面和负面内容来计算,从而为公众、研究者或企业提供一个量化工具,以了解媒体对其关注的方向和强度。 本数据含原始数据、参考文献、代码do文件、最终结果。参考文献中JF系数计算公式。 指标 代码、年份、标题出现该公司的新闻总数、内容出现该公司的新闻总数、正面新闻数全部、中性新闻数全部、负面新闻数全部、正面新闻数原创、中性新闻数原创、负面新闻数原创,媒体监督JF系数。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
lusted_3cd_02_0716