前提:在做项目中有个需求是填写表单后生成一份文档,文档可以编辑、保存。
这部分用富文本处理了,涉及到的逻辑就是对象-->富文本标签形式
在给后端传的数据格式再把富文本标签形式-->对象形式。
涉及到文字,图片、表格,以及图片表格的标题。
数据截取处理
// 数据截取处理
extractString(str, startChar, endChar) {
const pattern = `${startChar}(.*?)${endChar}`;
const regex = new RegExp(pattern);
const matches = str.match(regex);
return matches ? matches[1] : '';
},
用法:
let a = this.extractString(item, ' ')
item就是要处理的字串,后面一个开始元素,一个结束元素。
富文本去除所有标签
str='光伏组件在运行过程中,光电转换效率会受到影响,输出功率有所降低。本报告年衰减率根据《光伏制造行业规范条件(2021年本)》计算,晶硅组件衰减率首年不高于2.5%,后续每年不高于0.6%。
'
let a = str.replace(/<[^>]+>/g, '')
.replace替换其他数据:
proposalString = proposalString.replace(new RegExp('', 'g'), paragraph);
‘g’是全局替换,不然只会替换第一个。
富文本转对象大致实现思路:
因为要数据对应,以下是后端传过来的数据:
let obj = [
{
content:
'合浦位于广西壮族自治区北海市合浦县合浦闸口镇。项目所在地的经纬度坐标为21.69°N, 109.52°E。\n合浦县,属亚热带季风型海洋性气候区,日照较强,热量充足,雨量充沛,夏热冬暖,无霜期长。气候受季风环流控制,雨热同季。冬干夏湿,夏无酷暑,冬无严寒,盛行风向有明显的季节性转换,在沿海乡镇还有昼夜交替的海陆风出现。由于各季节雨热不均以及濒临北部湾,主要气象灾害有台风、暴雨、干旱、低温阴雨及霜冻、冰雹、雷电和龙卷风等。主要气候特征是年平均气温偏高,年总降雨量偏多,年总日照时数偏多。\n',
image: {
title: '项目所在位置图',
path: 'https://xidianai.oss-cn-hangzhou.aliyuncs.com/xdai_78abb1eb_loc_map.png',
index: 1,
},
table: {
title: '',
rowNum: '',
colNum: '',
head: [],
content: [],
},
},
];
对应回显在富文本,
思路:遍历数据结构,加上标签,富文本本身是会回显标签的
this.$nextTick(() => {
let content = '';
this.chapterList.chapterContent.forEach(item => {
if (item.content) {
content += item.content
.replace(/\n\n\n/g, ' ')
.replace(/\n\n/g, ' ');
content = content.replace(/\n/g, ` `);
}
// 图片回显
if (item.image.path) {
content += `图${this.chapterList.chapterIndex}-${item.image.index} ${item.image.title}
`;
}
// 表格回显
if (item.table.title) {
content += `表${this.chapterList.chapterIndex}-${item.table.index} ${item.table.title} `;
item.table.head.forEach(item => {
content += `${item} `;
});
content += ` `;
item.table.content.forEach(item => {
content += ` `;
item.forEach(item => {
content += `${item} `;
});
content += ` `;
});
content += `
`;
}
});
content = `${content
.replace(` `, ``)
.replace(new RegExp('°E。'), `°E。 `)}
`;
this.editor.txt.html(content);
});
用户编辑完成后保存,富文本转对象操作思路:特定标签用replace()替换后,split()成数组,这样obj就拿到了,然后遍历,分开处理content文字,图片,以及图片标题,表格以及表格标题。
// 保存
saveProposal() {
console.log(this.editor.txt.html());
let obj = [
{
content:
'合浦位于广西壮族自治区北海市合浦县合浦闸口镇。项目所在地的经纬度坐标为21.69°N, 109.52°E。\n合浦县,属亚热带季风型海洋性气候区,日照较强,热量充足,雨量充沛,夏热冬暖,无霜期长。气候受季风环流控制,雨热同季。冬干夏湿,夏无酷暑,冬无严寒,盛行风向有明显的季节性转换,在沿海乡镇还有昼夜交替的海陆风出现。由于各季节雨热不均以及濒临北部湾,主要气象灾害有台风、暴雨、干旱、低温阴雨及霜冻、冰雹、雷电和龙卷风等。主要气候特征是年平均气温偏高,年总降雨量偏多,年总日照时数偏多。\n',
image: {
title: '项目所在位置图',
path: 'https://xidianai.oss-cn-hangzhou.aliyuncs.com/xdai_78abb1eb_loc_map.png',
index: 1,
},
table: {
title: '',
rowNum: '',
colNum: '',
head: [],
content: [],
},
},
];
// 段落
let paragraph = '';
let proposalArr = [];
// let proposalString =
// '
光伏组件在运行过程中,光电转换效率会受到影响,输出功率有所降低。本报告年衰减率根据《光伏制造行业规范条件(2021年本)》计算,晶硅组件衰减率首年不高于2.5%,后续每年不高于0.6%,25年内不。本项目运营期内逐年上网电量见下表。
表6-1 本项目运营期逐年上网电量统计表
年份 年发电量万kWh 累计发电量万kWh 年利用小时数h 1 59525.59 59525.59 1026.3 19 55196.46 1089859.46 951.66
';
let proposalString = this.editor.txt.html();
// text-align:left; text-align:center;替换(图后文本)
proposalString = proposalString.replace(
new RegExp(
'
',
'g'
),
paragraph
);
proposalString = proposalString.replace(
new RegExp(
'
',
'g'
),
paragraph
);
// 新增文本
proposalString = proposalString.replace(new RegExp('
', 'g'), paragraph);
proposalString = proposalString.replace(new RegExp(paragraph), ``).replace(new RegExp(paragraph, 'g'), `aabb`).split('aabb');
proposalString.forEach(item => {
let content = '';
let image = {};
let table = {};
// 处理图片数据
if (this.extractString(item, 'src="', '"').length > 0) {
image.path = this.extractString(item, 'src="', '"');
if (item.includes('')) {
// 图片标题
image.title = this.extractString(item, '', ' ');
item = item.replace(this.extractString(item, ' '), '');
} else {
// 编辑图片标题(居中)
image.title = this.extractString(item, '', ' ');
image.title = this.extractString(item, image.title, '
');
// 去除img文字
item = item.replace(this.extractString(item, ' '), '');
}
} else {
image.path = '';
image.title = '';
}
// 处理表格数据
if (item.indexOf('tbody>') > -1) {
let tableData = this.extractString(item, '');
let tableHeadArr = []; // 截取的要处理的数据
let head = []; // 表头
let contentList = []; // 表格内容
// 获取表头
if (item.indexOf('') > -1) {
tableHeadArr = tableData.replace(new RegExp(' ', 'g'), 'tableHead').split('tableHead');
}
tableHeadArr.forEach(m => {
if (m.indexOf(' ') > -1) {
head.push(this.extractString(m, '', ''));
}
});
// 获取表格内容
let tableContentOld = tableData.split('')[1]
if (tableContentOld.indexOf('') > -1) {
tableContentOld = tableContentOld.replace(new RegExp(' ', 'g'), 'tableContent').split('tableContent');
tableContentOld.forEach(m => {
let contentArr = []
if(m.replace(/<[^>]+>/g, '')){
m.replace(new RegExp(' ', 'g'),'cloumn').replace(new RegExp('', 'g'),'').split('cloumn').forEach((n)=>{
if(n.replace(/<[^>]+>/g, '')){
contentArr.push(n);
}
})
contentList.push(contentArr);
}
})
// 去除table文字
item = item.replace(this.extractString(item, ' '), '');
}
// table.title = title;
table.head = head
table.content = contentList
table.colNum = head.length
table.rowNum = contentList.length
}
// 段落文字处理(去除图片、表格数据、标签、占位符等)
content = item.replace(new RegExp(' ', 'g'), '\n').replace(/<[^>]+>/g, '');
proposalArr.push({ content: content, image: image, table: table });
});
console.log(proposalArr);
},
代码贴在这里,存在冗余,大致提供一个思路,因为需求还没评审,暂时把这部分功能做出来了。
你可能感兴趣的:(前端,javascript,开发语言)
WebGL入门(019):WebGLSync 简介、使用方法、示例代码
还是大剑师兰特
# webGL开发教程 webgl 大剑师
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-【源代码+示例300+】2Leaflet【入门教
【学习笔记】用Mac自学虚幻4
左上方的天空&roc
虚幻4学习笔记 ue4 macos
文章目录前言学习过程总结前言首先,我是大学自学的前端,之后实习做的是前端是Webgl可视化工作,从实习到转正再到离职大概一年时间,辞职以后我考虑了目前比较火的UE引擎,于是重新学习了一遍C++和数据结构后,开始自学UE。由于本人手里只有一台MacBookAir,本次学习全程用Mac来运行。提示:建议学习UE的新人去学一遍C++,并且了解一下STL源码,以及底层的数据结构。一、安装UE4进入UE官网
nginx部署前端vue项目完整详细讲解
程序员小羊!
运维 前端 nginx vue.js
大家好,我是程序员小羊!前言:在使用Nginx部署前端Vue项目时,确保项目的生产环境版本已经打包,并且Nginx已经安装并配置在服务器上。以下是详细的步骤,包括打包Vue项目、配置Nginx、部署和测试项目。1.打包Vue项目首先,你需要将Vue项目编译为生产环境版本。可以通过VueCLI完成这一步。1.1安装依赖确保已经安装了Node.js和npm。然后在项目根目录下运行以下命令安装依赖:np
基于SpringBoot的流浪猫狗救援网站
超级无敌暴龙战士塔塔开
Java课设与毕设资源 java
文章目录项目介绍主要功能截图:部分代码展示设计总结项目获取方式作者主页:超级无敌暴龙战士塔塔开简介:Java领域优质创作者、简历模板、学习资料、面试题库【关注我,都给你】文末获取源码联系项目介绍基于SpringBoot的流浪猫狗救援网站,java项目。eclipse和idea都能打开运行。推荐环境配置:eclipse/ideajdk1.8mavenmysql前端技术:vue,Ajax,Json后端
React-Router 安装及使用
书生丶
安装
[email protected] 引入核心路由器组件import{BrowserRouter,HashRouter}from'react-router-dom'BrowserRouter:localhost:xxxx/user/liuna服务器可知所有请求细节HashRouter:localhost:xxxx/#/user/liuna使用#瞄点纯前端跳转,服务器不知
ES6--《每日学习》
Oswaldhs
es6 学习 javascript
一、ES6相关介绍1.1、什么是ES61995年的美国,有一家名为netscape(网景)的公司打造了一款主要用于check验证的脚本语言,而恰在此时,Sun公司的java语言火的一塌糊涂,netscape公司为蹭其热度,便将该脚本语言命名为JavaScript。不料JavaScript居然被越来越多的人使用,后效仿大秦的货币统一政策将其提交给国际标准组织ECMA。该组织发布的标准被称做ECMAS
Vue.js项目构建
彭于晏“
vue.js
Vue.js是一个流行的JavaScript框架,用于构建用户界面。下面是使用Vue.js构建项目的详细方法:安装Vue.js:首先,你需要在项目中安装Vue.js。你可以通过在终端中运行以下命令来安装Vue.js:npminstallvue创建Vue实例:在项目的入口文件中,创建一个Vue实例。你可以使用以下代码创建一个简单的Vue实例:importVuefrom'vue';newVue({el
是什么让尤大选择放弃Webpack?面向未来的前端构建工具 Vite
码民的飘柔
前端 vue 前端 vue.js webpack 面试 Vite
写在开头前两天在知乎看到过一篇文章,大致意思是讲:字节跳动已经开始“弃用Webpack”,尝试在自研构建工具中使用类似Vite的ESmodule构建方式。引起下方一大片焦虑:Webpack是不是要被取代了?现在学Vite就行了吧Webpack还没学会,就又来新的了!甚至有人搬出了去年尤大所发的一个动态:再也回不去Webpack了。PS:最近的vite比较火,而且发布了2.0版本,vue的作者尤雨溪
关于 Vue/React 的 cli 中运用 webpack 打包的原理简单解析
F-125
webpack vue.js react.js webpack
webpack、webpack-cli的打包关于webpack对前端工程中进行资源文件进行打包处理的过程中,运用到的核心插件主要是webpack和webpack-cli,在react和vue对于打包各自工程中的cli则是进行了自定义的构建,专门用于项目打包的cli。可简单的进行自定义运行webpack的编译运行文件。例如:通过webpack-cli运用webpack进行文件资源打包压缩处理,执行s
2024React前端面试题
司宁
前端面试题 前端
1.Diff算法Diff算法比较过程第一步:patch函数中对新老节点进行比较如果新节点不存在就销毁老节点如果老节点不存在,直接创建新的节点当两个节点是相同节点的时候,进入patctVnode的过程,比较两个节点的内部第二步:patchVnode函数比较两个虚拟节点内部如果两个虚拟节点完全相同,返回当前vnode的children不是textNode,再分成三种情况-有新children,没有旧c
Vue3 + Axios双Token刷新解决方案
洛*璃
vue.js 前端 javascript Axios 双token刷新
在现代前端开发中,使用API进行数据交互时,我们常常会遇到身份认证的问题。为了提高安全性,许多应用采用了Token机制,如JWT(JSONWebToken)来管理用户的身份状态。本文将介绍如何在Vue3项目中使用Axios实现双Token刷新机制,确保用户体验流畅的同时提高安全性。前置条件本文只针对Vue3前端所编写的双Token刷新解决方案,关于SpringCloud微服务项目的双Token刷新
【前端面试题】前端工程化、Webpack、Vite、Git项目管理相关问题
快乐点吧
前端 webpack git
目录关于前端工程化关于Webpack关于Vite关于Git项目管理综合性问题关于前端工程化1.前端工程化的定义和好处问题:什么是前端工程化?它的主要好处是什么?答案:前端工程化是指在前端开发中应用系统化、自动化和标准化的方法,包括模块化、组件化、自动化构建、测试等,以提高开发效率和代码质量。主要好处包括提升开发效率、增强代码可维护性、提高代码质量和团队协作效率。2.前端项目的目录结构问题:你通常如
第 004 期 提高页面渲染速度的 3 个 CSS 技巧
前端GoGoGo7
提到提高页面渲染速度,我们第一想到的是优化JavaScript。其实通过优化CSS也能提高页面渲染速度。优化方案1.延时渲染屏幕外的内容-content-visibility:auto很长的页面会有大量的内容在屏幕外。如果只渲染屏幕内的内容,屏幕外的内容在出现时才渲染,能大大的节约渲染时间。CSSContainmentModuleLevel2模块新增了content-visibility属性。这个
js字符串方法速览---字符串的静态方法,实例方法和属性合集,各包含一个示例
I_am_shy
javascript 前端 开发语言
tips:本文仅作为查找和基本使用的展示,需要深入了解这些方法的使用请参考:String-JavaScript|MDN(mozilla.org)可以通过目录快速锁定需要查找的方法和查看它的使用目录tip:新建一个字符串字符串实例属性字符串静态方法String.fromCharCode(...nums)String.fromCodePoint(...nums)String.raw({raw:arr}
【面试题】2024前端面试真题_中国电信前端面试(1)
2401_84437604
程序员 前端 面试 职场和发展
字节跳动一面(过了)手写代码实现一个reactmemo效果,react.meno第二个参数是什么pureComponent手写代码实现一个有状态的倒计时浏览器强缓存,cacle-control有哪些字段浏览器缓存原理微信原生小程序性能指标有没有看过qiankun的底层原理webpack5缓存有哪几种方式强缓存和协商缓存的状态码是多少HTTP2.0相当于1.X有哪些优势webpack是利用什么机制分
前端面试题-Vite的打包速度为什么比Webpack快?
爱学英语的程序媛
面试题 前端 webpack node.js
哈喽小伙伴们大家好!今天继续为大家分享一道面试题大家都知道,Vite和Webpack是前端开发中用来构建项目的两个框架,Webpack是针对Vue2的,而Vite则是为vue3量身定制的,他们有哪些区别呢?为什么我们推荐使用Vite呢?Webpack又有哪些缺点呢?这篇文章我们来一探究竟。Vite和Webpack的区别主要体现在以下几个方面.1、开发模式的差异在开发环境中,Webpack是先打包再
ArkTS基础快速入门学习
苏九黎
学习
鸿蒙开发ArkTS基础快速学习说明阅读本篇文章,适合一些了解过前端开发以及掌握前端框架的读者。ArkTS介绍ArkTS语言在TS语言基础上扩展了声明式UI,组件化,状态管理等功能。官方推荐两种开发模式开发鸿蒙,一种是基于js扩展的类web范式,另一种是基于TS扩展的声明式UI范式(也就是使用ArkTS开发)。ArkTs的代码基本结构Index.ets示例文件@Entry@Componentstru
JavaScript防抖函数
喂!大掌柜
javascript 开发语言 ecmascript
在JavaScript中,你可以使用函数闭包来创建一个防抖函数。下面是一个简单的实现示例:functiondebounce(func,delay){lettimeoutId;returnfunction(){clearTimeout(timeoutId);timeoutId=setTimeout(func,delay);};}使用这个防抖函数时,你需要将需要防抖的函数和延迟时间作为参数传递给deb
停止在 TypeScript 中使用“any”类型
喂!大掌柜
typescript typescript javascript 前端 前端框架
有更好的TS类型和接口可用。为什么你不应该在TypeScript中使用“any”类型TypeScript是Web开发人员最常用的编程语言之一。它具有出色的语言功能,可让您轻松设计可扩展的应用程序。因此,开发人员倾向于为他们的项目选择TypeScript而不是JavaScript。但是,在使用TypeScript时,我们需要避免一些常见错误,以最大限度地发挥其功能。例如,过度使用any类型是我们经常
项目搭建使用qiankun(乾坤),入门篇,以及遇到的坑与解决
喂!大掌柜
前端 vue vue.js 前端框架
微前端架构具备以下几个核心价值:技术栈无关主框架不限制接入应用的技术栈,微应用具备完全自主权独立开发、独立部署微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新增量升级在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技术栈升级或重构,而微前端是一种非常好的实施渐进式重构的手段和策略独立运行时每个微应用之间状态隔离,运行时状态不共享第一步:一个系统里面分主应用和子应用在
如何在小程序中实现页面之间的返回
那维莱特
小程序 apache
在小程序中实现页面之间的返回,通常有以下几种方法,这些方法各有特点,适用于不同的场景:1.使用wx.navigateBack方法描述:wx.navigateBack是微信小程序中用于关闭当前页面,返回上一页面或多级页面的API。使用方式:javascript复制代码wx.navigateBack({delta:1//表示返回上一级,如果delta大于1则表示返回多级});特点:可以根据delta的
Spring Boot 和 React 文件上传与下载教程
DZSpace
软件开发 spring boot react.js 后端
在本教程中,你将学习如何使用SpringBoot构建文件上传和下载的后端功能,以及使用React实现前端界面。示例中还包括文件预览的功能。目录设置SpringBoot后端创建React前端整合与测试设置SpringBoot后端我们首先创建一个简单的SpringBoot应用程序来处理文件上传和下载。创建SpringBoot项目使用你喜欢的方法(SpringInitializr、IDE等)创建一个新的
“飞毛腿”小汽车
1e739302728d
我家新买的小汽车穿着,“绿色的衣服”,肚子鼓鼓的,车头和车尾扁扁的,车头前端还瞪着一双“大眼睛”——车灯。虽然它貌不惊人,但跑起来可快了。你瞧,随着“滴滴”两声,它的尾部冒出一股黑烟,紧接着,四个轮子飞快地转动起来,一转眼就跑出去了老远。
SpringBoot+Vue疫苗接种管理系统 预约接种疫苗管理系统 疫苗接种查询系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SpringBoot(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆.png前端页面功能:首页、疫苗信息、健康科普、疫苗资讯、个人中心、后台管理、咨询服
Flask+LayUI开发手记(五):树型表格实现数据展示与编辑
hbrown
layui 前端 javascript
说起来,树型表格treeTable绝对是后端程序员的巨大福利。要知道,在系统编程中,有父子节点关系的数据真是太多了,随便想一下就可以举出很多例子,比如权限、栏目、机构、产品、科目、货币、行业诸般等等,其实只要是稍微复杂一点的参数数据都会以树型方式来进行组织。以前做这种要专门找个树型组件来做,很麻烦的。Layui提供的树型表格TreeTable,实际是对表格的一个扩展类,把树和表格合在一起,前端配置
javascript学习笔记--dom查询练习(二)
持续5年输出bug
通过具体的元素节点调用方法,返回当前节点的指定标签名后代节点getElementByTagName()1.属性,表示当前节点的所有子节点(会获取包括文本节点在内的所有子节点),在IE8及以下的浏览器中,不会将空白文本当成子节点:childNodes2.属性,是获取当前元素下的所有子元素这样就不会再包括空白文档:children3.属性表示当前节点的第一个子节点:firstChild4.属性表示当前
JavaScript 的变量、数据类型
wtbdwzbh
笔记 JavaScript javascript 笔记
一、变量变量:装数据的容器,数据可以修改。其本质是变量是内存中存放数据的空间。varage//声明一个变量ageage=10//给变量赋值varage=10//变量初始化,给变量同时声明和赋值更新变量一个变量被赋予新的值之后,原来的值就被覆盖掉了。同时声明多个变量只写一个var,要用英文逗号隔开。varname='张三',age=18,heigh=180;使用变量时必须声明,赋值。情况说明结果va
vite打包工具的简单使用
Software攻城狮
Vue3 前端
vite打包工具的简单使用Vite是一个由Vue.js核心团队开发的现代前端构建工具,它专注于提供更快的开发体验和高效的构建性能。Vite利用ES模块的原生支持,实现了即时编译和热模块替换(HMR),并且在构建时采用Rollup来优化最终输出。Vite的基本配置Vite的配置文件是vite.config.js或者vite.config.ts(如果你使用TypeScript)。在这个文件中,你可以定
【面试题】JavaScript 中 try
2401_84438488
javascript 开发语言 ecmascript
地址:前端面试题库web前端面试题库VSjava后端面试题库大全作为一位Web前端工程师,JavaScript中的try...catch是我们常用的特性之一。try...catch可以捕获代码中的异常并防止应用程序崩溃。但是try...catch不仅仅是简单地捕获异常。本文我将分享10个有用的try...catch使用技巧,让你在处理异常时更加得心应手。1.捕获所有异常如果你想捕获代码中所有可能的
JS中【Data】详解
OEC小胖胖
JavaScript javascript 开发语言 ecmascript 前端 html
在JavaScript中,“Date”是一个内置对象,专门用于处理日期和时间。Date对象提供了多种方法,能够让你创建、操作和格式化日期和时间数据。下面我们将详细讲解Date对象的各个方面,包括它的创建、方法、使用场景和一些常见的坑。1.Date对象的创建1.1无参数构造constnow=newDate();如果不传递任何参数,Date对象将会默认创建一个表示当前日期和时间的对象。1.2通过时间戳
[星球大战]阿纳金的背叛
comsci
本来杰迪圣殿的长老是不同意让阿纳金接受训练的.........
但是由于政治原因,长老会妥协了...这给邪恶的力量带来了机会
所以......现代的地球联邦接受了这个教训...绝对不让某些年轻人进入学院
看懂它,你就可以任性的玩耍了!
aijuans
JavaScript
javascript作为前端开发的标配技能,如果不掌握好它的三大特点:1.原型 2.作用域 3. 闭包 ,又怎么可以说你学好了这门语言呢?如果标配的技能都没有撑握好,怎么可以任性的玩耍呢?怎么验证自己学好了以上三个基本点呢,我找到一段不错的代码,稍加改动,如果能够读懂它,那么你就可以任性了。
function jClass(b
Java常用工具包 Jodd
Kai_Ge
java jodd
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架。简单,却很强大! 写道 Jodd = Tools + IoC + MVC + DB + AOP + TX + JSON + HTML < 1.5 Mb
Jodd 被分成众多模块,按需选择,其中
工具类模块有:
jodd-core &nb
SpringMvc下载
120153216
springMVC
@RequestMapping(value = WebUrlConstant.DOWNLOAD)
public void download(HttpServletRequest request,HttpServletResponse response,String fileName) {
OutputStream os = null;
InputStream is = null;
Python 标准异常总结
2002wmj
python
Python标准异常总结
AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失
SQL函数返回临时表结构的数据用于查询
357029540
SQL Server
这两天在做一个查询的SQL,这个SQL的一个条件是通过游标实现另外两张表查询出一个多条数据,这些数据都是INT类型,然后用IN条件进行查询,并且查询这两张表需要通过外部传入参数才能查询出所需数据,于是想到了用SQL函数返回值,并且也这样做了,由于是返回多条数据,所以把查询出来的INT类型值都拼接为了字符串,这时就遇到问题了,在查询SQL中因为条件是INT值,SQL函数的CAST和CONVERST都
java 时间格式化 | 比较大小| 时区 个人笔记
7454103
java eclipse tomcat c MyEclipse
个人总结! 不当之处多多包含!
引用 1.0 如何设置 tomcat 的时区:
位置:(catalina.bat---JAVA_OPTS 下面加上)
set JAVA_OPT
时间获取Clander的用法
adminjun
Clander 时间
/**
* 得到几天前的时间
* @param d
* @param day
* @return
*/
public static Date getDateBefore(Date d,int day){
Calend
JVM初探与设置
aijuans
java
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台
SQL中ON和WHERE的区别
avords
SQL中ON和WHERE的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 www.2cto.com 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
说说自信
houxinyou
工作 生活
自信的来源分为两种,一种是源于实力,一种源于头脑.实力是一个综合的评定,有自身的能力,能利用的资源等.比如我想去月亮上,要身体素质过硬,还要有飞船等等一系列的东西.这些都属于实力的一部分.而头脑不同,只要你头脑够简单就可以了!同样要上月亮上,你想,我一跳,1米,我多跳几下,跳个几年,应该就到了!什么?你说我会往下掉?你笨呀你!找个东西踩一下不就行了吗?
无论工作还
WEBLOGIC事务超时设置
bijian1013
weblogic jta 事务超时
系统中统计数据,由于调用统计过程,执行时间超过了weblogic设置的时间,提示如下错误:
统计数据出错!
原因:The transaction is no longer active - status: 'Rolling Back. [Reason=weblogic.transaction.internal
两年已过去,再看该如何快速融入新团队
bingyingao
java 互联网 融入 架构 新团队
偶得的空闲,翻到了两年前的帖子
该如何快速融入一个新团队,有所感触,就记下来,为下一个两年后的今天做参考。
时隔两年半之后的今天,再来看当初的这个博客,别有一番滋味。而我已经于今年三月份离开了当初所在的团队,加入另外的一个项目组,2011年的这篇博客之后的时光,我很好的融入了那个团队,而直到现在和同事们关系都特别好。大家在短短一年半的时间离一起经历了一
【Spark七十七】Spark分析Nginx和Apache的access.log
bit1129
apache
Spark分析Nginx和Apache的access.log,第一个问题是要对Nginx和Apache的access.log文件进行按行解析,按行解析就的方法是正则表达式:
Nginx的access.log解析正则表达式
val PATTERN = """([^ ]*) ([^ ]*) ([^ ]*) (\\[.*\\]) (\&q
Erlang patch
bookjovi
erlang
Totally five patchs committed to erlang otp, just small patchs.
IMO, erlang really is a interesting programming language, I really like its concurrency feature.
but the functional programming style
log4j日志路径中加入日期
bro_feng
java log4j
要用log4j使用记录日志,日志路径有每日的日期,文件大小5M新增文件。
实现方式
log4j:
<appender name="serviceLog"
class="org.apache.log4j.RollingFileAppender">
<param name="Encoding" v
读《研磨设计模式》-代码笔记-桥接模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 个人觉得关于桥接模式的例子,蜡笔和毛笔这个例子是最贴切的:http://www.cnblogs.com/zhenyulu/articles/67016.html
* 笔和颜色是可分离的,蜡笔把两者耦合在一起了:一支蜡笔只有一种
windows7下SVN和Eclipse插件安装
chenyu19891124
eclipse插件
今天花了一天时间弄SVN和Eclipse插件的安装,今天弄好了。svn插件和Eclipse整合有两种方式,一种是直接下载插件包,二种是通过Eclipse在线更新。由于之前Eclipse版本和svn插件版本有差别,始终是没装上。最后在网上找到了适合的版本。所用的环境系统:windows7JDK:1.7svn插件包版本:1.8.16Eclipse:3.7.2工具下载地址:Eclipse下在地址:htt
[转帖]工作流引擎设计思路
comsci
设计模式 工作 应用服务器 workflow 企业应用
作为国内的同行,我非常希望在流程设计方面和大家交流,刚发现篇好文(那么好的文章,现在才发现,可惜),关于流程设计的一些原理,个人觉得本文站得高,看得远,比俺的文章有深度,转载如下
=================================================================================
自开博以来不断有朋友来探讨工作流引擎该如何
Linux 查看内存,CPU及硬盘大小的方法
daizj
linux cpu 内存 硬盘 大小
一、查看CPU信息的命令
[root@R4 ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
model name : Intel(R) Xeon(R) CPU X5450 @ 3.00GHz
model name :
linux 踢出在线用户
dongwei_6688
linux
两个步骤:
1.用w命令找到要踢出的用户,比如下面:
[root@localhost ~]# w
18:16:55 up 39 days, 8:27, 3 users, load average: 0.03, 0.03, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
放手吧,就像不曾拥有过一样
dcj3sjt126com
内容提要:
静悠悠编著的《放手吧就像不曾拥有过一样》集结“全球华语世界最舒缓心灵”的精华故事,触碰生命最深层次的感动,献给全世界亿万读者。《放手吧就像不曾拥有过一样》的作者衷心地祝愿每一位读者都给自己一个重新出发的理由,将那些令你痛苦的、扛起的、背负的,一并都放下吧!把憔悴的面容换做一种清淡的微笑,把沉重的步伐调节成春天五线谱上的音符,让自己踏着轻快的节奏,在人生的海面上悠然漂荡,享受宁静与
php二进制安全的含义
dcj3sjt126com
PHP
PHP里,有string的概念。
string里,每个字符的大小为byte(与PHP相比,Java的每个字符为Character,是UTF8字符,C语言的每个字符可以在编译时选择)。
byte里,有ASCII代码的字符,例如ABC,123,abc,也有一些特殊字符,例如回车,退格之类的。
特殊字符很多是不能显示的。或者说,他们的显示方式没有标准,例如编码65到哪儿都是字母A,编码97到哪儿都是字符
Linux下禁用T440s,X240的一体化触摸板(touchpad)
gashero
linux ThinkPad 触摸板
自打1月买了Thinkpad T440s就一直很火大,其中最让人恼火的莫过于触摸板。
Thinkpad的经典就包括用了小红点(TrackPoint)。但是小红点只能定位,还是需要鼠标的左右键的。但是自打T440s等开始启用了一体化触摸板,不再有实体的按键了。问题是要是好用也行。
实际使用中,触摸板一堆问题,比如定位有抖动,以及按键时会有飘逸。这就导致了单击经常就
graph_dfs
hcx2013
Graph
package edu.xidian.graph;
class MyStack {
private final int SIZE = 20;
private int[] st;
private int top;
public MyStack() {
st = new int[SIZE];
top = -1;
}
public void push(i
Spring4.1新特性——Spring核心部分及其他
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
配置HiveServer2的安全策略之自定义用户名密码验证
liyonghui160com
具体从网上看
http://doc.mapr.com/display/MapR/Using+HiveServer2#UsingHiveServer2-ConfiguringCustomAuthentication
LDAP Authentication using OpenLDAP
Setting
一位30多的程序员生涯经验总结
pda158
编程 工作 生活 咨询
1.客户在接触到产品之后,才会真正明白自己的需求。
这是我在我的第一份工作上面学来的。只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的。给出一个功能性原型设计远远比一张长长的文字表格要好。 2.只要有充足的时间,所有安全防御系统都将失败。
安全防御现如今是全世界都在关注的大课题、大挑战。我们必须时时刻刻积极完善它,因为黑客只要有一次成功,就可以彻底打败你。 3.
分布式web服务架构的演变
自由的奴隶
linux Web 应用服务器 互联网
最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易
初探Druid连接池之二——慢SQL日志记录
xingsan_zhang
日志 连接池 druid 慢SQL
由于工作原因,这里先不说连接数据库部分的配置,后面会补上,直接进入慢SQL日志记录。
1.applicationContext.xml中增加如下配置:
<bean abstract="true" id="mysql_database" class="com.alibaba.druid.pool.DruidDataSourc