java nutz_jnutz: 基于nutz的java+js混合开发项目

nutz-jse

version 0.0.2

jdk8 152+ nutz es html

如不使用let const等变量则jdk8 40+即可

如使用es6的部分请更换jdk9 181+

将 config/ioc/jjs.js 中的es6注释 添加到[]内

项目使用说明

将jse.properties文件放置在你的web根目录

复制lib中的jar到 WEB-INFO/lib

启动项目就ok了

代码编写说明

xxx.jjs 对应只有一级的路径 执行结果 >>xxx.html

index.jjs(如没有xxx.jjs则执行index.jjs中的function) 对应只有一级的路径 >>index.html

xxx/aa.jjs 对应 xxx/aa.html

xxx/xxx.jjs 对应 xxx/xxx.html 二级目录可以转数字或uuid 30-128位 并默认填写参数 id = 二级目录名字 二级目录为汉子则填写默认参数 name

xxx/xxx/xxx 对应 xxx/xxx.html 三级目录可以转数字或uuid 30-128位 并默认填写参数 id = 二级目录名字

xxx/xxx/xxx/xxx 对应 xxx/xxx.html 三级目录为参数名 4级为参数值

xxx/ 对应 xxx/index.jjs xxx/index.html

xxx/xxx.json json/xxx/xxx 则直接返回json

xxx/xxx.xml xml/xxx/xxx 则返回xml

raw/xxx/xxx

/captcha/{数字或空} 验证码默认4魏 直接加数字则有位数 session变量 KERBORES_NUTZ_CAPTCHA

微信登录等

具体内容参考 nutz框架

code demo

var courses=$list("course")//dao.query 从数据库中查出的列表 List

//查询过滤出id等于 98与69的

var cs=courses.stream().filter(function(x){

if(x.id==98||x.id==69){

return true;

}else

return false;

}).collect(java.util.stream.Collectors.toList());

//排序 列表以id进行品排序

java.util.Collections.sort(courses, new java.util.Comparator() {

compare:function(h1,h2) {

return h1.id.compareTo(h2.id);

}

});

cache.put("courses",courses) //将对象存储在ehcache obj。

cache.put("xxx","courses",courses)//将对象存储在ehcache xxx。

cache.courses //从缓存中取出courses对象

$save(map) //保存数据库 无id自动添加 支持自增id与uuid

$update(map) //更新 默认id为条件 $update(map,cnd) 加sql条件 支持sql字符串或者Cnd对象

$mager(map)//保存或更新 无id则添加 有则修改 适合后台表单更新等操作 支持update的cnd

toJson(obj)//将对象转json

foJson(str)//将字符串等转对象

attr(key) //从req取出值 attr(key,val) 存值

sattr(key) //从session取出值 sattr(key,val) 存值

$app(key)//从servletContent取出值 $app(key,val) 存值

reqBody //以json等请求时req中时一串文字 用这个对象取出

print(123)//System.err.println(123)

addCookie(name,value) //添加cookie

delCookie //清空cookie

ip //取出ip地址

req //request

resp //response

ioc //ioc对象 get(bean) 取出bean

isEmpty(key) //判断是否空 null "null" "" undefined

log log4j 对象

$list(table,cnd,1,10) 查询列表 除第一个参数都可空

$fetch(table,cnd) 查询单条 cnd可空

$count(table,cnd) 查询条数 cnd可空

$sql(sql,cnd,type) sql语句 其他可空 type默认为List 支持map maps str strs strList int bool

$func(table,func,col) 查询函数

dao ioc中的dao对象

preq中的请求参数 在函数参数列表中传参数等同于

html编写说明

html页面编码为beetl 具体代码写法参考beetl

默认替换

默认变量 root本机当前域名 www为服务器域名 sess.aaa 则取出session中的aaa变量

自动填充req中的变量

自动填写了 dao变量 @dao 可以直接执行sql等操作

${root} 默认项目路径的http地址 http://xx.com/项目名/

html代码中的写法替换注释加:冒号 这样html编写时不会出现黄色的警告号来烦人

确实大于1不会出现的

# demo

xxx.jjs

function edit(tbl){return $fetch("xxx","id=1");}//进入页面函数

function xxx(tbl){$mager(tbl)return ">>:mmm/"}

add.html

```

```

这段代码实现了对一条数据的 查看 新增和修改的所有操作 上传文件 具体参数可以在 xxx函数内 print(tbl) 即可查看表单参数

#配置文件jse.properties 说明

#web

web.www=http://www.zhenping.ltd 真实环境网址

#domain site

web.domain=.zhenping.ltd 真实域名

web.host=www.zhenping.ltd 真实域名

#datasource

db.url=jdbc:mysql://127.0.0.1:3306/zp?useUnicode=true&characterEncoding=utf8&useSSL=false

db.username=root

db.password=chaojimima=123$

db.validationQuery=select 1

db.maxActive=100

db.testWhileIdle=true

db.filters=mergeStat

db.connectionProperties=druid.stat.slowSqlMillis=2000

db.defaultAutoCommit=true

#database mysql 定时自动备份(需quartz开启)

bak.name=db 定时数据库名称

bak.path=c:/sqlbak/ 定时数据库备份文件路径

#mvc filter > class impl ActionFilter 过滤器

mvc.filter=false true则开启过滤

#mvc aop > class extends AbstractProcessor

mvc.aop=false true则开启aop 需继承AbstractProcessor

#mvc class (mvc.filter or mvc.aop) 过滤器实现类

mvc.class=ActionFilter

#quartz pkgs or class 需实现job接口

quartz.enable=false 是否开启定时

#cron.com.jse.job.BakQuartz=0 0 2 * * ? //定时类与定时规则

cron.pkgs=com.jse.job //定时实现包

#email 邮件配置

mail.HostName=smtp.exmail.qq.com

mail.SmtpPort=465

mail.UserName=xxx@xxx.com

mail.Password=xxx

mail.SSLOnConnect=true

mail.From=xxx@xxx.com

#weixin server 微信服务器配置

weixin.token=#

weixin.appid=#

weixin.appsecret=#

#weixin.encodingAesKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#weixin.openid=XXX

#weixin.redis.key=wxmp:access_token

#weixin.atstore=jedis

#weixin open login 微信登录配置

#wxlogin.host=https://xxx.cn

wxlogin.appid=#

wxlogin.appsecret=#

#wxpay 微信支付配置

wxpay.appid=#

wxpay.mch_id=#

wxpay.key=#

wxpay.notify_url=http://xxx.com/pay/wxpay_notify

#alipay 支付宝支付配置

alipay.appid=#

alipay.private_key=#

alipay.public_key=#

alipay.return_url=http://xxx.com/pay/alipay_return

alipay.notify_url=http://xxx.com/pay/alipay_notify

#sms 短信配置 规则 url + 企业账号 企业密码 企业标识串 可以不用sms

#sms.url=#

sms.url=#

sms.id=#

sms.pwd=#

smd.text=#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端怎么获取cookie的值_京东购物小程序cookie方案实践(附Demo)

一、前言早期为了解决“会话保持”的需求,社区中出现了「cookie 方案」并最终成为 W3C 标准:当某个网站登录成功后,客户端(浏览器)收到一个 cookie 标识(文本)并保存下来,在后续请求中会自动带上这个字段,由此 Web 后台…

R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

一、R语言简介R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果:表明R语言是该领域近年来最受欢迎的软件之一。R语言的优势:(1)…

ssm java上传图片预览_ssm文件上传_上传图片

1、搭建好ssm框架2、导入文件上传所需依赖commons-fileuploadcommons-fileupload1.4commons-iocommons-io2.6commons-langcommons-lang2.63、springmvc的xml文件中配置文件所需的类4、jsp界面对应其次第二个文件上传对应的就是第二个div里面的内容4、form表单配置注意&#xff…

平台允许同时在线人数 显示_12万人同时在线,游戏未正式发售,国产“糖豆人”已诞生?...

《派对动物》目前在Steam平台上开启了试玩阶段,游戏离正式发行还有一段时间。这款游戏适合多人作战,正如它的名字一样《派对动物》。不过从游戏角色的形象设定上来看,有一些像学龄前儿童喜爱的动画片,因此并没有人给这部游戏太多的…

feign post 传递空值_听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

文章来源:听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺原文作者:陈哈哈来源平台:CSDN我有一个老朋友,我们叫他熊猫。发际线及将触碰到后脑勺,大框金丝眼镜也掩盖不住那黝黑的眼圈,显得格外的…

java必知必会_Java构造器必知必会

在面向对象编程中,编程人员应该在意“资源”。比如String hello "hello";在代码中,我们很在意在内存中String类型的hello,它是有一个生命周期的。在它生命周期中,初始化(initialization)和清理(cleanup)是两…

post 请求 argument type mismatch_Flask-RESTful 请求解析

一、基本参数from flask.ext.restful import reqparseparser reqparse.RequestParser()parser.add_argument(rate, typeint, helpRate cannot be converted)parser.add_argument(name, typestr)args parser.parse_args()二、必需的参数parser.add_argument(name, typestr, re…

易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看

各位好!,我依然是小芝麻,近期几日总是有盆友在私聊我,“小芝麻看着你的转金专缉,那么多方式,能够 帮我建议一类,最安全可靠能用的吗?”“小芝麻,你的转金攻略大全&#x…

java高并发抢单编程模型_Java高并发模型

package MainFixedFuc;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SingleTest {public static void main(String[] args) {// 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待…

maven不配置环境变量可以使用吗_哪些土地可以不缴纳土地使用税?包括农村地吗?...

根据法律规定,县城以上城市进行土地开发时,需要征收土地使用税,对于公园、名胜、寺庙及文教、卫生、社会福利等单位使用的土地,城镇、街道、公共设施用地、铁路、机场、港区、车站、管理交通运输用地及水利工程,农、林…

小米答题题库_拼多多果园答题题库74(每日更新)

135编辑器拼多多答题题库七十四每周我们都会做一个总和的题库;希望大家持续关注!您的关注就是我们的动力!“成语之乡”指的是我国哪座城市?1.河北邯郸 2.安徽蚌埠答:河北邯郸邯郸位于河北省南部,是战国时期…

java 接口 print_Java-接口练习

编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapi…

filestorage 修改吧部分数据_数据库系统概论课后答案||第五版

关注公众号,更多资源分享回复关键词:数据库系统概论即可获取相应资源其他章节关注公众号获取第 1 章 绪论1 . 试述数据、 数据库、 数据库系统、 数据库管理系统的概念。答:( l ) 数据( Data ) : 描述事物的符号记录称…

python zipfile 乱码_python zipfile文件名乱码问题

zipfile文件名乱码问题接到一个解压zip文件的任务。在几百G的文件里面找到zip文件,并解压到当前目录。这个任务看似很简单,但是全都是坑的。被坑的第一点,文件名乱码。搜索博客里面的教程,一般有两种方法。1、修改源码&#xff0c…

php时间戳本周,php获取今天,昨天,本周,上周,本月,上月的起止时间戳

如何使用php获取今天,昨天,本周,上周,本月,上月的起止时间戳,我们来看看下面的函数。date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时//获取今日开始时…

directshow 旋转_宜昌中心加工机+A:B型号,高速旋转接头加工

杭州浙稳贺机械配件有限公司为您详细解读MrGAtc宜昌中心加工机A:B型号的相关知识与详情,但是,0.1-0.15 N/ mm范畴的密封唇载荷对新的密封是可承受的;关于80mm曲径的轴,那转换为25-40N范畴的总径向载荷。很多旋转接头弹性体唇形密封…

python压缩文件夹为zip_python打包压缩文件夹zip+组装文件夹

无意间想到的一个需求,然后就顺手写了写,留下来,方便以后用列表版:(基本没用,仅提供思路,字典版稍微改动可以直接用)大体需求:把重复的文件名进行改名,达到浏览器下载相同文件的效果…

php注册树模式,php设计模式-注册树模式

注册树模式概念注册树模式也叫注册模式或注册器模式。注册树模式将对象实例注册到一棵全局的对象树上,需要的时候从对象树上获取即可。注册树模式优点单例模式创建唯一对象的过程本身还有一种判断,即判断对象是否存在,存在则返回对象&#xf…

jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?

像在这样炎炎的夏日,温度在直线飙升,茶饮市场最近可谓是异常火,店铺人流量一旦增多,还能保证每一杯饮品的质量吗?还能保证门店的制冰机产量能够跟上需求节奏吗?奶茶店铺用哪种制冰机才合适?今天…

redis哨兵主从不切换_《「面试突击」—Redis篇》-- Redis的主从复制?哨兵机制?...

Redis如何保证高并发,高可用?高并发:redis的单机吞吐量可以达到几万不是问题,如果想提高redis的读写能力,可以用redis的主从架构,redis天热支持一主多从的准备模式,单主负责写请求多从负责读请求…