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=#
總結
以上是生活随笔為你收集整理的java nutz_jnutz: 基于nutz的java+js混合开发项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android_secure写权限,an
- 下一篇: java 代码 _程序员用1.5小时写出