param

ExcelUtil工具类

吃可爱长大的小学妹 提交于 2019-12-05 02:10:27
若依项目中的工具类,可以读取FTP输入流中的Excel表格 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel

微信小程序支付功能前端流程

◇◆丶佛笑我妖孽 提交于 2019-12-05 02:08:53
只是分享一下小程序支付功能的前端流程和代码, 仅供参考(使用的是uni app)。 handleCreate () { /** 第一步:前台将商品数据发送到后台,后台创建订单入库并返回商品订单id等信息 */ uni.request({ url: '/testApi/wxPay/insert', // 创建订单接口 method: 'POST', data: { openId: '获取到的该用户的openid,必传', number: '商品数量', goodsId: '商品id', goodsFee: '商品价格' }, success: res => { console.log('获取数据成功') this.handlePayment(res) }, fail: err => { console.log(err) } }) }, handlePayment (res) { /** 第二步,根据后台返回商品订单id生成商户订单 */ uni.request({ url: '/testApi/wxPay/unifiedorder', // 生成订单接口 method: 'POST', data: { openId: '获取到的该用户的openid,必传', totalFee: res.paidAmount, // 商品支付价格 uid: res.uid // 后台生成的订单id }

用正则表达式获取URL中的查询参数

*爱你&永不变心* 提交于 2019-12-05 01:05:25
总结获取url中查询参数的两种方式 通过正则表达式获取单个参数 url中的所有查询参数可以通过 window.location.search 字段获取,以字符串的形式返回。并有固定的格式 ?param1=value1&param2=value2··· ,所以可以正则表达式匹配。 分析下需要匹配的格式: param=value , 其中需要获取的是value部分,但是也需要 param= 参与匹配,但是不能参与返回结果,这里有 前后查找 的问题 ?param=value 和 &param=value 都可能存在,参数名称紧跟在 ? 或 & 之后;还要注意的是,要区分 emali 和 mail 这种名称, /mail/ 既能匹配到email又能匹配mail,所以要给参数名称加一个 边界 ,名称的上一个字符要是一个非单词(\W)的字符,这样就可以解决这两个问题 value 后可能是空,也可能是下一组参数(以&分割),所以value的值要匹配到 [^&] 为止 由于参数名称是变化的,所以需要用字符串的形式来生成正则表达式 前后查找和边界的介绍可以细看 MDN 中的详细介绍。 搞定正则之后,使用string的 match 方法,就能直接获取到对应的参数值 function getUrlParamsByName(name) { // \b 边界 // ?<= 向后匹配 //

Java调用WebService方法总结(8)--soap.jar调用WebService

给你一囗甜甜゛ 提交于 2019-12-05 00:32:37
Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/soap/version-2.3.1/下载;本文简单记录下其调用WebService的方法。文中所使用到的软件版本:Java 1.8.0_191、soap 2.3.1。 1、准备 参考 Java调用WebService方法总结(1)--准备工作 2、调用 这种方式调用本地服务成功了,但调用在线的服务时返回值总是为空,参数没传过去,估计需要设置参数的命名空间,但又没找到相关方法。 package com.inspur.ws; import java.net.URL; import java.util.Vector; import org.apache.soap.Constants; import org.apache.soap.Fault; import org.apache.soap.encoding.SOAPMappingRegistry; import org.apache.soap.encoding.soapenc.StringDeserializer; import org.apache.soap.rpc.Call; import org.apache.soap.rpc

rails 3 render partial with params

放肆的年华 提交于 2019-12-05 00:21:12
I'm having a problem passing some parameters to a partial. No matter what I've tried the params don't pass when the partial is rendered. I am using a jquery tabbed layout, and each tab displays work orders in a particular status and also based on a range of dates. I am using the params :sort_filter and :status_filter to accomplish this. My original code is here, but I want to change this to render partials in the link_to's instead of the way it's listed here: <ul> <li><%= link_to "Active", work_orders_path(params.merge({:status_filter => "A", :sort_filter => params[:sort_filter]})) %></li> <li

Python语言基础07-面向对象编程基础

一笑奈何 提交于 2019-12-04 21:53:11
本文收录在 Python从入门到精通系列文章系列 1. 了解面对对象编程   活在当下的程序员应该都听过"面向对象编程"一词,也经常有人问能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法。   "把 一组数据结构和处理它们的方法 组成 对象(object) ,把 相同行为的对象 归纳为 类(class) ,通过 类的封装(encapsulation)隐藏内部细节 ,通过 继承(inheritance)实现类的特化(specialization)和泛化(generalization) ,通过 多态(polymorphism)实现基于对象类型的动态分派 。"   这样一说是不是更不明白了。所以我们还是看看更通俗易懂的说法,请看下图:   之前我们说过" 程序是指令的集合 ",我们在程序中书写的语句在执行时会变成一条或多条指令然后由CPU去执行。当然为了简化程序的设计,我们引入了 函数 的概念,把相对独立且经常重复使用的代码放置到函数中,在需要使用这些功能的时候只要调用函数即可;如果一个函数的功能过于复杂和臃肿,我们又可以进一步将函数继续切分为 子函数 来降低系统的复杂性。   但是说了这么多,不知道大家是否发现,所谓编程就是程序员按照计算机的工作方式控制计算机完成各种任务。但是,计算机的工作方式与正常人类的思维模式是不同的

Spring与Redis整合(spring-data-redis)

百般思念 提交于 2019-12-04 18:44:24
maven依赖 <properties> <!-- redis 版本 --> <redis.version>2.9.0</redis.version> <spring.redis.version>1.8.4.RELEASE</spring.redis.version> </properties> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${redis.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring.redis.version}</version> </dependency> redis.properties redis.host=127.0.0.1 redis.port=6379 redis.password="" redis.maxIdle=400 redis.maxTotal=6000 redis.maxWaitMillis=1000 redis.blockWhenExhausted=true

c#扩展方法学习笔记

孤街浪徒 提交于 2019-12-04 18:18:36
C#扩展方法,简单的理解是不修改原来类的源代码的情况下,为某个类添加某个方法。扩展方法被定义为 静态方法 ,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符 为前缀。 有一个典型的应用场景,就是程序二开。比如别人的DLL不公开源代码,要想在DLL某个类中添加一个新方法的话,是不太可能的。但是可以使用扩展方法,达到类似的目的。 1、新建两个类文件:Rectangle、GenericClass。 /// <summary> /// 自定义类(长方形) /// </summary> public class Rectangle { //属性 public double Width { get; set; } = 0; //宽度 public double Height { get; set; } = 0; //高度 /// <summary> /// 构造函数 /// </summary> /// <param name="width"></param> /// <param name="height"></param> public Rectangle (double width,double height) { Width = width; Height = height; } /// <summary> /// 求周长

Vs code自动生成Doxygen格式注释

こ雲淡風輕ζ 提交于 2019-12-04 17:46:57
前言 ​ 程序中注释的规范和统一性的重要性不言而喻,本文就推荐一种在用vscode编写代码时自动化生成标准化注释格式的方法,关于Doxygen规范及其使用可查看博文 代码注释规范之Doxygen 。 ​ 本方法仅作为Doxygen注释的辅助作用。 Vs code自动生成Doxygen格式注释 环境 Vs code Generate Doxygen Comments 插件 Generate Doxygen Comments 插件使用及配置 安装插件后,File--Preferences--Settings-- 中打开用户 setting.json文件 初步设置后如下所示: { "window.zoomLevel": 0, "editor.minimap.enabled": false, "python.pythonPath": "C:\\Users\\jordan\\AppData\\Local\\Programs\\Python\\Python37\\python.exe", "workbench.iconTheme": "vscode-icons", "explorer.autoReveal": false, //取消左侧自动聚焦 "terminal.integrated.shell.windows": "D:\\Program Files\\Git\\bin\\bash.exe

js观察者模式(发布-订阅模式)

我们两清 提交于 2019-12-04 17:00:10
一个被观察者对象,多个观察者对象,当被观察者对象状态发生改变时,所有的观察者均得到通知。 function Event(){ this .clientList = [] } Event.prototype = { listen : function (key,fn){ if (! this .clientList[key]){ this .clientList[key] = [] } this .clientList[key].push(fn) }, trigger : function (){ // 取第一个输入参数,监听的事件名 var key = Array.prototype.shift.call(arguments) // 根据事件名,取触发函数数组 var fns = this .clientList[key] if (!fns||fns.length === 0 ){ return false } // 遍历触发函数 fns.map ((fn) => { fn.apply( this ,arguments) }) }, remove : function (key, fn) { var fns = this . clientList [ key ] if (!fns) { return false } if (!fn) { // 未传入回调函数,取消订阅 key