CZTZ-JavaEE开源应用开发平台介绍(2)
第二部分 平台开发示例(上)
王保政
QQ:29803446
Msn:baozhengw999@hotmail.com
本文介绍如何利用应用开发平台实现一个后台增删改查的应用。以B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>网站的个人用户帐号为例。
企业应用的用户有B2B类用户(如企业内网用户),也有B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>类用户,即通过公司的外网门户注册的个人帐号,例如公司的网上商城注册会员。
本例的个人用户帐号表为eas_b2cuser,主要数据库字段有:
obj_id varchar(40) 唯一ID字段(隐藏字段,不需要用户输入数据,系统自动生成ID)
user_id varchar(30) 登录帐号
user_name varchar(30) 用户名称
is_enabled int 是否可用,0表示不可用1表示可用
user_type varchar(16) 标识是个人注册用户还是企业注册用户,可从数据字典取编码
sys_code varchar(16) 此用户隶属的应用系统,应用系统编码也从数据字典获取.
下面是其他隐含字段:
row_id varchar(40) 唯一行号
sort_no int 记录排序号
create_dt varchar(23) 创建时间
create_uid varchar(40) 创建人帐号
update_dt varchar(23) 最后修改时间
update_uid 最后修改人帐号
在数据库表设计好以后,按下面的具体步骤操作:
一、 通过MyEclipse工具将指定的数据库生成对应的POJO类和hbm文件,此表对应的hbm文件和POJO类已经生成,分别是org\apache\easframework\core\entity\ EasB2cuser.hbm.xml和同目录下的EasB2cuser.java文件,可在WEB-INF\lib\ eas-core.jar中找到这两个文件,由于本平台已经生成了这两个文件,所以可进行下一步。
二、 这一步需要在配置文件中配置hbm.xml文件,见WEB-INF\classes目录下的datasource.xml,,这里配置了大量的hbm.xml文件:
<property name="mappingResources">
<list>
<value>org/apache/easframework/core/entity/EasB2cuser.hbm.xml</value>
…
</list>
</property>
由于这一步也已经配置好了,所以大家可直接看下一步。
三、 在实体容器类org.apache.easframework.core.entity.EntityContainer中声明EasB2cUser类变量(此容器也主要是为了webwork的前台页面的实体变量在BaseAction中能自动找到对应的实体类,以便BaseAction能自动将不同的实体类的值插入到相应的数据库表),EntityContainer.java中增加的代码如下:
private EasB2cuser easB2cuser;
public void setEasB2cuser(EasB2cuser entity)
{
this.easB2cuser = entity;
}
public EasB2cuser getEasB2cuser()
{
return this.easB2cuser;
}
本平台已增加了上述代码。在实际开发中,以上的步骤作完后要用ant运行一次编译部署脚本。在本示例中上述步骤已经完成,大家可从下一步骤开始正式自己动手来实现一个增删改查功能(带翻页的,不用写一行翻页代码,很酷的哦),由于本文书写的时候模板生成器还没做完,等做完后,下面的步骤基本都省略了,用户只需要通过配置工具来生成功能页面,可以自己定义列表页面要显示的数据项,自己定义查询列和排序列,等等。看下一步骤。
四、 配置xwork.xml:
在WEB-INF\classes目录下有一个xwork.xml文件,打开此文件,找到下面一段代码:
<action name="listEasMetaColumn" class="org.apache.easframework.core.webwork.action.BaseAction">
<result name="input">/module/platform/editEasMetaColumn.jsp</result>
<result name="success">/module/platform/listEasMetaColumn.jsp</result>
<result name="select">/listEasMetaColumn.action?operate=selectPageList</result>
<result name="edit">/module/platform/editEasMetaColumn.jsp</result>
<result name="showList">/module/platform/listEasMetaColumn.jsp</result>
<param name="serviceName">DBSupportService</param>
<param name="keyFieldName">objId</param>
<param name="entityClassName">org.apache.easframework.core.entity.EasMetaColumn</param>
<param name="codeColumns"></param>
<param name="sortColumns"></param>
</action>
上面的配置是一个维护表字段信息的功能。可在此段代码下复制上面的代码,更改相应的配置。这里要注意一下命名规则,name="listEasMetaColumn"是一个action的名字,在页面上可以通过http://host:port/myapp/listEasMetaColumn.action的格式访问,list是动作,后面的是实体类名,jsp文件的命名也是动作名+实体类名,例如列表页面为listXXX.jsp,编辑页面是editXXX.jsp,本例要配置的是EasB2user的功能,对应的表是eas_b2cuser,所以列表页面的命名为listEasB2cuser.jsp,编辑页面的命名为editEasB2cuser.jsp。
DBSupportService是一个通用的封装了增删改差的基础业务逻辑类,当然实际开发可以从此类继承,一般没有特殊处理时,用此类作为增删改查的业务逻辑类即可。
keyFieldName是主键字段的类名,例如eas_b2cuser表的主键为obj_id,对应Easb2cuser类的objId字段,注意表和字段对应的类和类属性的命名规则,表字段下划线后的第一字母改为大写,去掉下划线,就是对应的类的属性名。
<param name="entityClassName">配置了此action对应的实体类名,现在我们要配置Easb2cuser的维护功能,自然此参数的值就是org.apache.easframework.core.entity.EasB2cuser;
codeColumns参数指定列表页面哪些字段需要显示代码对应的文字,例如列表页上要显示应用系统名称,而不是编码,所以此字段要配置为sysCode(sysCode是EasB2cuser类的一个属性),此参数可以逗号做间隔符配置多个字段。
sortColumns参数指定列表页面指定的排序顺序字段,例如userName asc,sysCode desc,指定排序规则后,页面打开时自动按此顺序排序,当然用户可通过点列标题来自己指定新的排序列(标题列中点一次按此列升序排列,再点一次按降序排列)。
下面是配置好的内容:
<action name="listEasB2cuser" class="org.apache.easframework.core.webwork.action.BaseAction">
<result name="input">/module/platform/editEasB2cuser.jsp</result>
<result name="success">/module/platform/listEasB2cuser.jsp</result>
<result name="select">/listEasB2cuser.action?operate=selectPageList</result>
<result name="edit">/module/platform/editEasB2cuser.jsp</result>
<result name="showList">/module/platform/listEasB2cuser.jsp</result>
<param name="serviceName">DBSupportService</param>
<param name="keyFieldName">objId</param>
<param name="entityClassName">org.apache.easframework.core.entity. EasB2cuser</param>
<param name="codeColumns">sysCode,userType</param>
<param name="sortColumns">sysCode asc,userName asc</param>
</action>
五、 在功能列表中添加一个连接:
打开module目录下的left_plat.jsp,随便找一个节点,添加对应的连接,,例如:
['B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>用户帐号维护','<%=request.getContextPath()%>/listEasB2cuser.action?operate=selectPageList']
六、 列表页面:
可从已有的列表页面复制一个文件,例如在module\platform目录下复制listEasMetaColumn.jsp,更名为listEasB2cuser.jsp,将此页面的所有EasMetaColumn替换为EasB2cuser,此jsp中有(new String[]{"开发平台","基础数据管理","表字段信息维护"}),是生成功能导航文字的,可将文字部分改为"开发平台","权限管理","B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>帐号维护"(导航文字以后也可以定义为一个参数在xwork.xml中配置).
下面需要设置列表页需要显示的字段列表,将文件中:
<td nowrap class="result_head_dock" width="21%"><a href="javascript:customSort('tableName');">表名</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('columnName');">字段名</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('columnCnName');">字段中文名</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('classFieldName');">类属性名</a></td>
部分去掉,改为:
<td nowrap class="result_head_dock" width="9%">序号</td>
<td nowrap class="result_head_dock" width="21%"><a href="javascript:customSort('userId');">登录帐号</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('userName');">用户名称</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('userType');">用户类型</a></td>
<td nowrap class="result_head_dock" width="20%"><a href="javascript:customSort('sysCode');">所属系统</a></td>
其中userId,username,userType,sysCode是EasB2cuser类的属性。下面
<td align="center" width="21%"><ww:property value="tableName"/></td>
<td align="center" width="20%"><ww:property value="columnName"/></td>
<td align="center" width="20%"><ww:property value="columnCnName"/> </td>
<td align="center" width="20%"><ww:property value="classFieldName"/> </td>
替换为:
<td align="center" width="21%"><ww:property value="userId"/></td>
<td align="center" width="20%"><ww:property value="userName"/></td>
<td align="center" width="20%"><ww:property value="userType"/> </td>
<td align="center" width="20%"><ww:property value="sysCode"/> </td>
到这一步,点击功能连接中的B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>用户帐号维护:

即可以看到一个没有数据的功能页面,由于现在eas_b2cuser表还没有数据,编辑页面还没有实现,我们可以直接在数据中插入两三条数据(注意row_id这个非主键列要唯一值),先看看这个列表页面的效果,大家可以看到,通过上述步骤,没有写java代码,但是排序、查询,翻页已经实现了(翻页需要多录入几条数据能看到效果)。大家点点列表标题连接,可以看到现在可以按照升序或降序来排列被点击的字段。不过目前我们看到两个问题:一是查询条件列的下拉列表为空,二是列表页的用户类型和所属系统两个字段为编码,应该显示名称,下面讲述如何在查询条件框中添加查询条件列和将编码(编码字段已在xwork.xml中定义了,为sysCode,userType)显示为名称。
首先我们为网站用户类型数据字典(WEBUSER_TYPE)和应用系统数据字典(SYSTEM_CODE)增加数据字典项:
网站用户类型数据字典增加USER,个人用户 COM单位用户
应用系统数据字典增加B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>电子商务BLOG博客HR人力资源网
以上数据字典和数据字典类型平台中已配置好。下面使用表字段基本信息维护功能增加eas_b2cuser表的几个字段的设置,增加内容(平台中已将这几个字段配置好,不用再配置了,这里为了说明操作步骤):

保存后再进入B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>用户帐号维护中可看到查询条件下拉中已有了用户ID字段.
然后添加用户名称的配置
user_type字段配置(此字段值从数据字典取,在上文已配置好对应的数据字典编码):

sys_code配置:

这时候再回到B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</chmetcnv>用户帐号维护,查询条件下拉框中已有了查询条件列,选择用户名和登录帐号时,右侧显示输入框可输入查询文字,当选择网站用户类型,右侧显示网站用户的下拉数据字典项,选择所属系统时,右侧显示应用系统的下拉列表。这是切换查询列,并选择或输入查询内容,然后点查询按钮,我们会发现,查询功能已经实现了!仍然是-没有Coding!查询功能已经实现了!!!
列表页面还有什么变化?看用户类型和所属系统字段,原来是显示的编码,现在已经显示文字了,见下图:

(由于本文篇幅较长,编辑页面的实现在下篇文档中继续。)
分享到:
相关推荐
远程debug流程,方便debug
基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现 原创代码,注释清晰,可直接运行 研究表明,圈养的麻雀存在两种不同类型:发现者和加入者。 发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物。 在生活中我们仔细观察会发现,当群体中有麻雀发现周围有捕食者时,此时群体中一个或多个个体会发出啁啾声,一旦发出这样的声音整个种群就会立即躲避危险,进而飞到其它的安全区域进行觅食。 这样的麻雀被称为警觉者。 麻雀搜索算法就是利用麻雀的这种生物特性进行迭代寻优的优化算法。 本资源包含以下三部分内容: 1.麻雀搜索算法的基本原理(两篇参考文献),非常适合用来学习。 2.麻雀搜索算法的matlab代码,注释详细,结构清晰。 3.五个群智能优化算法常用的测试函数。 ,麻雀搜索算法(SSA); MATLAB实现; 原创代码; 注释清晰; 可直接运行; 生物特性迭代寻优; 发现者与加入者; 警觉者; 参考两篇文献。
基于java的五子棋游戏设计源码+论文
deepseek-r1使用指南
DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示,Dsp28335利用spi与ad7606通信,采集八路信号,通过sci发送到到上位机显示数值和波形 ,DSP28335; SPI; AD7606; 八路信号采集; SCI; 上位机显示; 数值和波形,DSP28335 SPI通讯 AD7606 八路信号采集 SCI发送上位机显示
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
1、文件内容:marisa-ruby-0.2.4-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/marisa-ruby-0.2.4-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻雀搜索算法(SSA)在接近全局最优时,种群多样性减少,易陷入局部最优解等问题,提出了一种混沌麻雀搜索优化算法(CSSA)。 通过改进 Tent 混沌序列初始化种群,提高初始解的质量,增强算法的全局搜索能力; ,基于Tent混沌映射的麻雀搜索算法; CSSA(混沌麻雀搜索优化算法); Tent混沌序列初始化种群; 全局搜索能力。,基于Tent混沌映射的CSSA算法:提高麻雀搜索全局搜索能力
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
上接战略下接绩效的培训规划.pptx
基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序、接线图与组态画面全解析,No.943 基于S7-300 PLC和Wincc Flexible触摸屏温室大棚控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面 ,943; S7-300 PLC; Wincc Flexible触摸屏; 温室大棚控制; 梯形图程序; 接线图原理图; IO分配; 组态画面,S7-300 PLC与Wincc Flexible触摸屏联合打造:No.943温室大棚控制系统的设计与实现
基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序主要介绍ADMM算法在GAMS中的编写方式,模型基于发电商竞标策略进行编写,基本包含了文章中的模型,但并非完全复现,可作为参考程序自学使用,也可在程序的基础上进行修改使用。 需要的同学可根据以下图片研究是否为自己需要的程序进行。 也可提供ADMM部分程序。 程序包括两个,分别为解决战略投资问题的广义MILP制定的GAMS代码、基于提出的共识- admm算法解决战略投资问题的GAMS代码 ,GAMS程序; ADMM算法; 发电商竞标策略; 模型编写; 广义MILP; 共识-ADMM算法; 战略投资问题; 程序修改。,GAMS程序:ADMM算法在发电商竞标策略中的应用示例
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
重庆市农村信用合作社 农商行数字银行系统建设方案.ppt
三菱FX5U定位模块与昆仑通态触摸屏包装机配置程序集成:五轴控制及双轴插补技术,三菱FX5U定位模块与伺服系统控制:包装机配置清单及功能分配手册,三菱 FX5U定位模块5轴 2轴插补伺服 包括三菱FX5U伺服5轴程序2轴插补,昆仑通态触摸屏程序。 包装机程序,有详细配置清单 IO表 功能分配等清单 扩展FX5-16ET-ES-H定位,有定位设置说明 ,三菱FX5U;定位模块;5轴;2轴插补伺服;昆仑通态触摸屏程序;包装机程序;配置清单;IO表;功能分配;扩展FX5-16ET-ES-H定位设置。,三菱FX5U定位模块:5轴伺服控制与2轴插补程序包
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
恶性肿瘤骨转移临床诊疗专家共识总论要点解读.pptx