- JNA框架调用dll动态库(给你整得明明白白)
回首掏88
dlljava
java调用dll动态库的方法,总的有三种:JNI、JNA、JNative。其中JNA调用DLL是最方便的。网上文章一大堆,我就不废话了。使用JNA框架调用DLL动态库,步骤如下:一、环境准备1.导jar包jar:jar包版本可以选择,不过好像没什么太大影响,5.8.0的也阔以pom:com.sun.jnajna3.0.92.准备好你的dll文件dll文件有32位和64位的,首先搞清楚你的目标dl
- Java项目调用C/C++ SDK的方案汇总
legendaryhaha
JNIc语言c++JNIJNativeJNAJavaCPP
Java项目调用C/C++SDK的方案汇总背景调研JNIJNativeJNAJavaCPP背景Java项目中需要调用到一个C++项目,于是对目前通用的解决方案做了一些调研,这里做一个汇总。调研JNIJNI:JavaNativeInterface,JNI是一套编程接口,用来实现Java代码与本地的C/C++代码进行交互。流程:class文件生成C++头部文件(Test.h)示例,相关命令:javac
- 怎么将java项目打成exe文件_如何把Java web项目打包成exe可执行文件?
超蜡笔
第一步:将浏览器嵌入到javaswing中,需要的三个包如下:DJNativeSwing.jarDJNativeSwing-SWT.jarswt-3.6M3-win32-win32-x86代码如下:packagecom.langtop.webBrowser;importchrriis.common.UIUtils;importchrriis.dj.nativeswing.NSOption;impo
- Java 成功实现通过网址URL截图保存
Slow菜鸟
java开发语言
Java实现通过网址URL截图1.DjNativeSwing方式(不好用)2.phantomjs方式(截图还是有瑕疵)3.selenium方式(满意,成功实现)maven引入下载相关浏览器chrome下载相关浏览器chromedriver驱动后端代码1.DjNativeSwing方式(不好用)实操DjNativeSwing方式的现象1.截图效果(非百度网页):有图片,排版正常,但是部分样式丢失(输
- idea手动导入了包但编译运行还是报找不到xxx.jar包的问题
seeutet
intellij-ideajarjava
1、先把jar包放目录下并addaslibary2、在pom.xml中加入JNativeJNative1.0system${pom.basedir}/lib/JNative.jar3、buildcleanrun即可
- jcef支持linux
Geminit
javajava
由于工作中有需求,需要在Linux平台支持JCEF内置浏览器到Java窗口,且需要支持WebGL三维浏览。基于此需求,就排除了DJNativeSwing和JavaFx自带的WebView,选用了JCEF技术路线。将踩坑步骤记录如下:1.找到LinuxJCEF可用的包,由于我的项目要求是Java8环境,所以选择的是:Releasev1.0.9-78.3.9+gc7345f2+chromium-78.
- Java 监听Mac键盘输入实现快捷键功能
织雾呀
背景需求当你想使用Java给Mac上注册快捷键时,你百度到可以通过jnativehook进行实现。然后你发现,下载下来的例子进行运行不了,这篇文章说的就是怎么解决这个问题,以及如果通过这个jnativehook实现Mac上的系统级快捷键。jnativehookJNativeHook为Java程序提供全局的键盘和鼠标事件侦听功能。你可以来处理程序外的键盘输入和鼠标动作。当然JNativeHook使用
- java调用C++/C的三种方式
China第一程序员
Java调用C++/C有3中方式:JNI、JNA、JNative。注:1、个人觉得还是JNA的方式最好。2、Java和C++/C交互的难点在于数据结构的对应3、java不可以直接调用C#代码,C#代码需要托管JNI(Android调用,普通java类似)使用步骤:1、编写静态方法(用java声明)2、编译生成class文件3、编译生成h文件4、编写C文件(用C/C++实现)5、配置NDK6、配置s
- neo4j java 实例_Neo4j - 原生Java API
weixin_39803207
neo4jjava实例
在本章中,我们将使用Neo4jNativeJavaAPI开发和测试Java应用程序。我们将在下一章讨论Neo4jCypherJavaAPI。在开发应用程序之前,请参考“Neo4jJava环境设置”一章来设置EclipseIDE来开发此应用程序Neo4j原生JavaAPI示例此示例演示如何在EclipseIDE中开发Java应用程序以开发和测试Neo4j原生avaAPI示例请按照“Neo4jJava
- Maven依赖外部jar包配置
blacksheepfly
Maven
1.添加依赖路径org.xvolksjNative1.1.0system${project.basedir}/lib/JNative.jar2.添加构建设置org.springframework.bootspring-boot-maven-plugintrue
- Java调用dll文件的实现解析
目录Java调用dll文件环境接下来进入正文Java调用dll文件几种常见方式Java调用动态库需要关注的问题一.数据类型对应关系二.Jnative调用dll三.JNA调用dllJava调用dll文件近期根据C++做了一个图片质量检测的项目,目前需要在在java中进行调用,所以先在C++上生成dll文件,然后基于java调用dll文件实现功能。环境C++:VS2017(之前配置opencv真是要了
- JAVA 调用 DLL 文件 TSCLIB.DLL TSC打印机
penghuaibing
技术
这是一段JAVA调用TSC条码打印机的代码;有详细的注释!1,需要把dll文件拷贝到c:\windows\system32目录下2,工程里面需要加载JNative.jar包(网上很多下载的) /********************************************************************************$Header$*$Revision$*$Da
- java调用条码打印机指令进行打印
lxb11433
java
因项目需要,对ArgoxOS-214plusseriesPPLA条码机进行调用打印,驱动为BCLW32.DLL、WinPort.dll、Winppla.dll,用JNI可以实现调用,但比较麻烦,需要对DLL封装,改用JNative组件进行调用。整个实现步骤为:1.下载JNative-1.3.2.zip组件库。2.解压出来后有JNative.jar/JNativeCpp.dll/libJNative
- CMS项目技术心得
yhno11
1.JNative应工作需要,想要在web项目里调用DLL(公司里提供了一个hkbank.dll),对JNI机制不是太熟,去网上了解了一下,说用JNative比较方便,所以打算用它。在开发一个web的时候,一个类用了JNative,JNativeCpp.dll文件发到了windows/system32下面,junit也测试通过了,实际调用的时候报了个java.lang.IllegalStateEx
- java 获取桌面坐标
存天理 灭恶欲
java
需要用到jnativehook包,可在maven仓库中找到Alt+右键获取屏幕坐标packageposition;importorg.jnativehook.GlobalScreen;importorg.jnativehook.NativeHookException;importorg.jnativehook.keyboard.NativeKeyEvent;importorg.jnativehoo
- Java调用DLL
weixin_30861459
javac/c++
最近做项目,用到了Java调用Dll的知识,在此记录一下。知识都是来自网络,我整理了一下。本机环境:jdk1.8(64)tomcat8Java调用DLL有多种方式,常用的方式有JNI、JNative、JNA等。(1)、JNI可以参考这篇文章:http://www.cnblogs.com/baokang/p/4979243.html缺点:操作很麻烦,需要在Java端先定义类A和方法,再生成c需要的头
- java调用dll几种方式总结
Sides8
java
常用的就是jni,jnative(基于jni封装了自己的jar包)注意:java调用dll,必须dll里做了对应的处理。列如:方法名必须为_java_包名_类名_方法名使用JNI调用dll步骤新建一个java项目,将dll文件放入src下配置改项目环境jre下native目录,指向src项目jdk一定不要用eclipse自带的,用自己安装的jdk路径按照dll里的目录顺序新建目录及类声明跟dll里
- Android-NDK开发之基础--Android JNI有关Java类命名方式
GEOLO
android
(Ljava/lang/String;I)V其中本句I=IntegerB=ByteS=ShortC=CharLXXX;=L加上类名3.在JNI下面,我们常用的命名方式:staticJavaVM*g_VM;//全局环境指针staticjclassjNativesClass;(*env)->GetJavaVM(env,&g_VM);//获取env环境指针,这样以后用g_VM就可以了。4.jobject
- 使用Java的JNative调用dll动态链接库
土豆豆子
java调用dll
1,首先下载JNative的库,其中包含JNative.jar,JNativeCpp.dll,libJNativeCpp.so这三个包。JNative.jar是需要导入到Java工程的lib下。通过BuildPath即可导入。建议将JNative.jar放在jdk的jre\lib\ext文件里。JNativeCpp.dll是必须放入到jdk的jre\bin文件里,否则就会报JNative找不到的错
- J2SE内嵌浏览器,DJNativeSwing
ykletters
由于项目需求,必须在程序中嵌入一个浏览器来完成用户的一些操作,几番研究本人决定使用DJNativeSwing这个控件,该空间需要使用以下jar包支持DJNativeSwing.jar、DJNativeSwing-SWT.jar、org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar或者org.eclipse.swt.win32.win32.x86
- 如何编译JCEF以及内嵌到桌面应用程序中
wzdark
java
前言在项目中需要在桌面应用程序中内嵌浏览器,尝试了几种解决方案,有:javafx,DJNativeSwing,CEF等。觉得CEF效果最好。本文目的是介绍如何编译和使用jCEF。主要参考和翻译了这篇文章java-cef背景说明什么是CEF?CEF是ChromiumEmbeddedFramework的缩写,是个基于GoogleChromium项目的开源Webbrowser控件,支持Windows,L
- java内嵌chrome浏览器,JS和JAVA如何进行交互
weixin_34112900
2019独角兽企业重金招聘Python工程师标准>>>为了上线之后,客户不用安装chrome(主要还是客户用IE、firefox居多),我们现在开发都是使用chrome,为了提高客户体验度,使用了嵌入式浏览器,之前有过对比,也就是技术选型,有几种如下:1、JDIC与DockFrame一同使用时,会出现内存地址无法访问异常2、DJNativeSwing与SWT封装性良好,偶尔需要升级适应浏览器新版本
- Swing 程序中嵌入 网页浏览器/Flash Player 等
jackpk
swing浏览器mozillajavascriptflashbrowser
在Swing程序中嵌入原生网页浏览器和FlashPlayerBYJackpk:DJNativeSwing已经测试,很好用refurl:http://liuwangxia.javaeye.com/blog/181947NativeWebBrowser,FlashPlayerforSwingapplicationsScreenshots:http://djproject.sourceforge.net
- java swing内嵌浏览器
Geminit
NativeSwingjava内嵌浏览器
前几天做项目,需要在javaswing内嵌浏览器,搜索一阵,无果。后发现一个很好用的组件。DJNativeSwing它是nativecode实现的,但是集成在javaswing代码中也没有任何问题。网址是:NativeSwing不只是浏览器,还有vlc,flash等等,包括例子官方也很丰富。当然默认只有win32的,不过也不要灰心,DJNativeSwing是基于swt,所以只要下载对应操作系统的
- DJNativeSwing跨平台的浏览器、Flash播放器、HTML编辑器和多媒体播放器组件
B_H_L
java百度地图
DJNativeSwingTheDJNativeSwinglibraryallowsaneasyintegrationofsomenativecomponentsintoSwingapplications,andprovidessomenativeutilitiestoenhanceSwing'sAPIs.Thekeycomponentsarearichwebbrowser,aflashplaye
- Java 调用底层接口的几种方法
weixin_30396699
Java调用底层接口Java调用底层接口要通过动态链接库进行,在windows下是dll文件,linux是so文件Java调用动态库所需要关心的问题:如何装载文件,以及如何定位所要使用的方法;数据类型是如何对应的;如何给使用的方法传递参数;如何获取返回的值。目前调用底层接口用的比较多的技术包括jni、jna、jnative、Nativecall等JNI封装本地接口JAVA可以通过JNI接口访问本地
- JNative环境(windows)
wwx1619
JAVA
支持32位jdk,如64位jdk,则在调用时会报错:JNativelibrarynotloaded,sorry!操作系统32位、64位均可。32位系统调用dll:将要调用的dll文件放入C:\Windows\System3264位系统调用dll:将要调用的dll文件放入C:\Windows\SysWOW64
- java读取IC卡设备
sanyecao2314
java基础
有几个项目都用到IC卡设备,IC卡供应商提供的例程里没有java的例子,调试过程发现各种问题,总算是测试通过了,mark一下.基本思路:通过JNative.jar包调用dll方式,读取IC卡的序列号.代码:packagecom.test;importorg.xvolks.jnative.JNative;importorg.xvolks.jnative.Type;importorg.xvolks.j
- java内嵌chrome浏览器,JS和JAVA如何进行交互
monday_CN
为了上线之后,客户不用安装chrome(主要还是客户用IE、firefox居多),我们现在开发都是使用chrome,为了提高客户体验度,使用了嵌入式浏览器,之前有过对比,也就是技术选型,有几种如下:1、JDIC与DockFrame一同使用时,会出现内存地址无法访问异常2、DJNativeSwing与SWT封装性良好,偶尔需要升级适应浏览器新版本3、jbrowser、mozswing采用XUL+XP
- Java调用Win32实现操作其他程序窗口
赵得C
Java
1、用到的包①jna-4.4.0.jar和jna-platform-4.4.0(下载地址)②JNative.jar(下载地址)2、使用方式:向QQ输入文本为例publicclassQQTest{publicstaticvoidmain(String[]args){//第一个参数是Windows窗体的窗体类,第二个参数是窗体的标题。HWNDhwnd=User32.INSTANCE.FindWindo
- 微信开发者验证接口开发
362217990
微信 开发者 token 验证
微信开发者接口验证。
Token,自己随便定义,与微信填写一致就可以了。
根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html
第一步:填写服务器配置
第二步:验证服务器地址的有效性
第三步:依据接口文档实现业务逻辑
这里主要讲第二步验证服务器有效性。
建一个
- 一个小编程题-类似约瑟夫环问题
BrokenDreams
编程
今天群友出了一题:
一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。
&
- linux复习笔记之bash shell (5) 关于减号-的作用
eksliang
linux关于减号“-”的含义linux关于减号“-”的用途linux关于“-”的含义linux关于减号的含义
转载请出自出处:
http://eksliang.iteye.com/blog/2105677
管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有
- Unix(3)
18289753290
unix ksh
1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容
什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。
2)条件判断: &&代表and ||代表or&nbs
- 关于ListView中性能优化中图片加载问题
酷的飞上天空
ListView
ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。
具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594
如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。
现在想出一个方法就是每次都添加一个标识,然后设置图
- 德国总理默多克:给国人的一堂“震撼教育”课
永夜-极光
教育
http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课
安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!
德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂
- 关于Java继承的一个小问题。。。
随便小屋
java
今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来!
//CanFight接口
interface Canfight {
void fight();
}
//ActionCharacter类
class ActionCharacter {
public void fight() {
System.out.pr
- 23种基本的设计模式
aijuans
设计模式
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Builder:将一个复杂对象的构建与它的表示分离,使得同
- 《周鸿祎自述:我的互联网方法论》读书笔记
aoyouzi
读书笔记
从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.
商业模式不是赚钱模式
一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.
商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值.
商业模式还包括寻找需求
- JavaScript动态改变样式访问技术
百合不是茶
JavaScriptstyle属性ClassName属性
一:style属性
格式:
HTML元素.style.样式属性="值";
创建菜单:在html标签中创建 或者 在head标签中用数组创建
<html>
<head>
<title>style改变样式</title>
</head>
&l
- jQuery的deferred对象详解
bijian1013
jquerydeferred对象
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。
每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。
&nb
- 淘宝开放平台TOP
Bill_chen
C++c物流C#
淘宝网开放平台首页:http://open.taobao.com/
淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform,
是淘宝合作伙伴开发、发布、交易其服务的平台。
支撑TOP的三条主线为:
1.开放数据和业务流程
* 以API数据形式开放商品、交易、物流等业务;
&
- 【大型网站架构一】大型网站架构概述
bit1129
网站架构
大型互联网特点
面对海量用户、海量数据
大型互联网架构的关键指标
高并发
高性能
高可用
高可扩展性
线性伸缩性
安全性
大型互联网技术要点
前端优化
CDN缓存
反向代理
KV缓存
消息系统
分布式存储
NoSQL数据库
搜索
监控
安全
想到的问题:
1.对于订单系统这种事务型系统,如
- eclipse插件hibernate tools安装
白糖_
Hibernate
eclipse helios(3.6)版
1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址:
http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool
- Jquery easyui Form表单提交注意事项
bozch
jquery easyui
jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:
1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要
- Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量
bylijinnan
java实现
import java.util.LinkedList;
public class CaseInsensitiveTrie {
/**
字典树的Java实现。实现了插入、查询以及深度优先遍历。
Trie tree's java implementation.(Insert,Search,DFS)
Problem Description
Igna
- html css 鼠标形状样式汇总
chenbowen00
htmlcss
css鼠标手型cursor中hand与pointer
Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>
Example:CSS鼠标手型效果 <a href="#" style=&qu
- [IT与投资]IT投资的几个原则
comsci
it
无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......
 
- oracle with语句详解
daizj
oraclewithwith as
oracle with语句详解 转
在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用
例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的
----------------------------------------------------------------
- hbase的简单操作
deng520159
数据库hbase
近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来.
用ssh登陆安装hbase那台linux后
用hbase shell进行hbase命令控制台!
表的管理
1)查看有哪些表
hbase(main)> list
2)创建表
# 语法:create <table>, {NAME => <family&g
- C语言scanf继续学习、算术运算符学习和逻辑运算符
dcj3sjt126com
c
/*
2013年3月11日20:37:32
地点:北京潘家园
功能:完成用户格式化输入多个值
目的:学习scanf函数的使用
*/
# include <stdio.h>
int main(void)
{
int i, j, k;
printf("please input three number:\n"); //提示用
- 2015越来越好
dcj3sjt126com
歌曲
越来越好
房子大了电话小了 感觉越来越好
假期多了收入高了 工作越来越好
商品精了价格活了 心情越来越好
天更蓝了水更清了 环境越来越好
活得有奔头人会步步高
想做到你要努力去做到
幸福的笑容天天挂眉梢 越来越好
婆媳和了家庭暖了 生活越来越好
孩子高了懂事多了 学习越来越好
朋友多了心相通了 大家越来越好
道路宽了心气顺了 日子越来越好
活的有精神人就不显
- java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim
feiteyizu
mysql
数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00”
程序使用select 语句从中取数据时出现以下异常:
java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
java.sql.SQLException: Valu
- Ehcache(07)——Ehcache对并发的支持
234390216
并发ehcache锁ReadLockWriteLock
Ehcache对并发的支持
在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同
- mysql中blob,text字段的合成索引
jackyrong
mysql
在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能,
但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找
则速度快
比如:
create table abc(id varchar(10),context blog,hash_value varchar(40));
insert into abc(1,rep
- 逻辑运算与移位运算
latty
位运算逻辑运算
源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数)
负数的补码:
符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 -7 源码: 10000111 ,其绝对值为00000111 取反加一:11111001 为-7补码
已知一个数的补码,求原码的操作分两种情况:
- 利用XSD 验证XML文件
newerdragon
javaxmlxsd
XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看:
http://www.w3school.com.cn/schema/index.asp
java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。
以下代码可用在J
- 搭建 CentOS 6 服务器(12) - Samba
rensanning
centos
(1)安装
# yum -y install samba
Installed:
samba.i686 0:3.6.9-169.el6_5
# pdbedit -a rensn
new password:123456
retype new password:123456
……
(2)Home文件夹
# mkdir /etc
- Learn Nodejs 01
toknowme
nodejs
(1)下载nodejs
https://nodejs.org/download/ 选择相应的版本进行下载 (2)安装nodejs 安装的方式比较多,请baidu下
我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf node-v0.12.
- jquery控制自动刷新的代码举例
xp9802
jquery
1、html内容部分 复制代码代码示例: <div id='log_reload'>
<select name="id_s" size="1">
<option value='2'>-2s-</option>
<option value='3'>-3s-</option