HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
比如有多個(gè)http請(qǐng)求: this.http.get(url1).subscribe(res1=>console.log(res1)) this.http.get(url2).subscribe(res2=>console.log(res2)) this.http.get(url3).subscribe(res3=>console.log(res3))
請(qǐng)問es6/rxjs中有沒有什么寫法可以等待三個(gè)請(qǐng)求結(jié)束,然后再進(jìn)行處理呢?
我在網(wǎng)上找了好幾個(gè)方案,試了一下都不好使 let http1 = this.http.get(url1).subscribe(res1=>console.log(res1)) let http2 = this.http.get(url2).subscribe(res2=>console.log(res2)) let http3 = this.http.get(url3).subscribe(res3=>console.log(res3)) Observable.fornJoin([http1,http2,http3]).subscribe(res=>console.log(res)) Observable.zip(http1,http2,http3).subscribe(res=>console.log(res)) Observable.merge([http1,http2,http3]).subscribe(res=>console.log(res))
請(qǐng)問該如何實(shí)現(xiàn)呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
項(xiàng)目中出現(xiàn)這樣的問題:
有按鈕控制切換顯示柱狀圖($scope.shape="column")或線狀圖($scope.shape="line")
另有下拉框觸發(fā)事件,切換HighCharts圖形中的series,比如顯示今天或者明天的數(shù)據(jù)(通過JS的splice方法)!但是再點(diǎn)擊其他按鈕(比如上面的切換線狀或柱狀圖),series會(huì)還原到點(diǎn)擊之前,懷疑是$scope的作用域問題!請(qǐng)問有什么解決的方法或者思路?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
近段時(shí)間在學(xué)習(xí) Spring boot 。它將傳統(tǒng)的 jsp 拋棄了 引用的新的模板技術(shù) thymeleaf 引入了一堆新的標(biāo)簽庫(kù)。這是問題背景
在對(duì)比他們是的時(shí)候我發(fā)現(xiàn)除了標(biāo)簽庫(kù)之外在使用上它們是沒有區(qū)別的(不包括編譯問題),像我這種 前端基本都是 jquery 來修改 dom 節(jié)點(diǎn)的。標(biāo)簽庫(kù)這種東西對(duì)我的影響不是很大。。。 那么我在使用它們的時(shí)候是不是沒什么區(qū)別呢 ?
再然后就是前端框架,像vue,angular這類的前端框架 我感覺作用不是很大?。▊€(gè)人感覺),無論傳值顯示,修改dom節(jié)點(diǎn) 感覺用處都沒什么。應(yīng)用是挺簡(jiǎn)單的,但是 jquery 寫熟練的實(shí)現(xiàn)這種功能也挺簡(jiǎn)單的,在又要適應(yīng)一種新的標(biāo)簽的情況下感覺 jquery 的效率應(yīng)該不差于這些東西吧,而且 js 都是自己寫的 應(yīng)用起來靈活很多,那么為什么那么多人都說不推薦使用 jquery 來操作呢 ?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
類似這樣的代碼:
我想提取中間的div做動(dòng)態(tài)表單,我暫時(shí)是這樣寫的:
但是外面的兩個(gè)div(一個(gè)formGroup,一個(gè)ngSwitch)已經(jīng)破壞了html結(jié)構(gòu),導(dǎo)致樣式錯(cuò)誤。
請(qǐng)問這種情況如何避免呢?是否有什么辦法可以不占用標(biāo)簽的使用條件語句?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
運(yùn)行時(shí)報(bào)錯(cuò): ERROR TypeError: Cannot read property 'invalid' of undefined at Object.eval [as updateDirectives] (EditMemberComponent.html:9)
去掉flag就好了,請(qǐng)問該如何解決?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
請(qǐng)問我在用Angular5開發(fā)微信端時(shí),需要在微信Web開發(fā)者工具上面調(diào)試,但是angular開發(fā)時(shí)候需要websocket動(dòng)態(tài)刷新頁(yè)面,請(qǐng)問大家都是如何解決的呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我是一個(gè)開源熱愛者,試著自己寫了幾個(gè)開源項(xiàng)目。代碼放在github上,但是回饋率不怎么樣,我想知道怎樣去推廣自己的項(xiàng)目,讓更多的人參與進(jìn)來。
項(xiàng)目鏈接
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> Push failedFailed with error: The remote end hung up unexpectedly The remote end hung up unexpectedly
RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
================================
各種此類問題這幾天晚上提不上去代碼了,甚至連在github頁(yè)面刪掉多余的項(xiàng)目都報(bào)錯(cuò)!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> kextutil BMUSBCDCECMData.kext/ Diagnostics for BMUSBCDCECMData.kext: Code Signing Failure: code signature is invalid Untrusted kexts are not allowed ERROR: invalid signature for com.BroadMobi.driver.BMUSBCDCECMData, will not load codesign -dvvv BMUSBCDCECMData.kext/ Executable=BMUSBCDCECMData.kext/Contents/MacOS/BMUSBCDCECMData Identifier=com.BroadMobi.driver.BMUSBCDCECMData Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20200 size=900 flags=0x0(none) hashes=22+3 location=embedded Hash type=sha256 size=32 CandidateCDHash sha1=0528f1aa3821adfcbffe614a28179fa47f3df911 CandidateCDHash sha256=f5b274802f072dcec3b8cc854ba8ae2176ec8ca5 Hash choices=sha1,sha256 CDHash=f5b274802f072dcec3b8cc854ba8ae2176ec8ca5 Signature size=4604 Authority=Developer ID Application: Shunfu Zhang (CSTW4CD8MC) Authority=Developer ID Certification Authority Authority=Apple Root CA Signed Time=Oct 31, 2016, 4:26:41 PM Info.plist entries=21 TeamIdentifier=CSTW4CD8MC Sealed Resources version=2 rules=12 files=1
Internal requirements count=1 size=228
顯示簽名是正常的,加載時(shí)顯示無效的簽名
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
RT,貌似僅限于github pages,因?yàn)椋?http://github.com 和 http://github.com/kelvinh 這樣的URL都可以打開,但是 http://kelvinh.github.com 卻打不開,熟悉的connection reset界面。昨天晚上還是好好的,但今天中午的時(shí)候就發(fā)現(xiàn)打不開了。各位有遇到這個(gè)情況么?難道又一次逼著我們翻*墻?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
GitHub或正式登陸中國(guó)!擬在中國(guó)設(shè)立分公司
github可能要來中國(guó)了,紅薯大大怕不怕?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
回顧一周社區(qū)熱門資訊
第【五十】期:20191123-20191129
點(diǎn)擊相應(yīng)標(biāo)題,跳轉(zhuǎn)閱讀全文。
Linux Kernel 5.4 發(fā)布,exFAT 支持和內(nèi)核鎖定功能
微軟的 exFAT 真的進(jìn)入內(nèi)核了。
Facebook 默認(rèn)開發(fā)環(huán)境采用 VS Code
官方宣布將 VS Code 設(shè)置為 Facebook 的默認(rèn)開發(fā)環(huán)境,并與微軟合作,以幫助增強(qiáng)其遠(yuǎn)程開發(fā)擴(kuò)展,使開發(fā)者能夠進(jìn)行大規(guī)模的遠(yuǎn)程開發(fā)。
WebStorm 2019.3 正式發(fā)布,前端開發(fā) IDE
新版本的啟動(dòng)速度提高了 20%,對(duì) Vue.js 的支持進(jìn)行了重大增強(qiáng),JavaScript 和 TypeScript 的代碼完成更加智能,并且修復(fù)了許多錯(cuò)誤。
HHVM 4.32 (LTS) 發(fā)布,Facebook 打造的開源虛擬機(jī)
這是一個(gè)長(zhǎng)期支持版本。此版本將支持約 48 周,HHVM 4.8 和 HHVM 4.27–4.31 仍受支持。同時(shí),對(duì) HHVM 3.30 的支持結(jié)束,這是與 PHP 兼容的最新 HHVM 版本。
開源 Linux 智能手機(jī) PinePhone 演示運(yùn)行桌面 Linux 應(yīng)用:支持 GIMP 和 Firefox 等
GraalVM 19.3 發(fā)布,支持 JDK 11 與 ARM64 架構(gòu)
GraalVM 是一個(gè)高性能跨語言虛擬機(jī),用于運(yùn)行 JavaScript、Python 3、Ruby、R、基于 JVM 的語言,如 Java、Scala、Kotlin 和基于 LLVM 的語言,如 C 和 C++。GraalVM 消除了編程語言之間的隔離,并支持共享運(yùn)行時(shí)的互操作性。它可以獨(dú)立運(yùn)行,也可以在 OpenJDK、Node、Oracle 或者 MySQL 上運(yùn)行。
一名開發(fā)者對(duì) Rust 在 2020 年的發(fā)展愿景:支持 GUI 編程和關(guān)注社區(qū)建設(shè)
任何與 Rust 相關(guān)的想法都會(huì)被團(tuán)隊(duì)考慮:語言特性、工具需求、社區(qū)計(jì)劃和生態(tài)需求等。此外還有一個(gè)問題 —— Rust 是否會(huì)在 2021 發(fā)布特別的重大版本?如果是,那么 2020 年將會(huì)是開展大量相關(guān)工作并對(duì)細(xì)節(jié)進(jìn)行規(guī)劃的一年。那么,重大版本的主題又是什么?
怕被政治燒到,RISC-V 基金會(huì)決定遷址瑞士
美國(guó)一些共和黨議員表示,他們擔(dān)心美國(guó)將失去對(duì) RISC-V 芯片架構(gòu)的影響力,該架構(gòu)可用于為幾乎每種類型的電子設(shè)備制造微處理器,從而使其成為現(xiàn)代經(jīng)濟(jì)的重要組成部分。
開源編輯器 Atom 未經(jīng)同意收集用戶數(shù)據(jù)
開源實(shí)時(shí)操作系統(tǒng) RT-Thread 獲近億元人民幣的 B 輪融資
RT-Thread擁有良好的軟件生態(tài),支持市面上所有主流的編譯工具如GCC、Keil、IAR等,工具鏈完善、友好,支持各類標(biāo)準(zhǔn)接口,如POSIX、CMSIS、C++應(yīng)用環(huán)境、JavaScript執(zhí)行環(huán)境等,方便開發(fā)者移植各類應(yīng)用程序。商用支持所有主流MCU架構(gòu),如ARM Cortex-M/R/A、MIPS、X86、Xtensa、C-Sky、RISC-V,幾乎支持市場(chǎng)上所有主流的MCU和Wi-Fi芯片。
Firefox Preview 3.0 發(fā)布,Mozilla 全新 Android 瀏覽器
這是 Mozilla 今年上半年推出的全新 Android Web 瀏覽器。Firefox Preview 的渲染引擎 GeckoView 由 Mozilla 自己開發(fā),通過將 GeckoView 引擎與 Firefox 應(yīng)用程序相分離,開發(fā)團(tuán)隊(duì)創(chuàng)建了一種更新、更快和更容易維護(hù)的方式來開發(fā) Android 應(yīng)用程序,充分利用了 GeckoView 卓越的性能、隱私和對(duì)最新 Web 標(biāo)準(zhǔn)的支持。
山寨泛濫,Google play 誤封正版開源 BT 客戶端 LibreTorrent
自由軟件之父 RMS 認(rèn)為 GitHub 對(duì)自由軟件造成了傷害
他認(rèn)為 GitHub 的政策對(duì)開源軟件許可證的態(tài)度十分草率(上面充斥了大量無許可證、許可證不明確或者只有一個(gè) GPL 版本的項(xiàng)目),并因此對(duì)自由軟件社區(qū)造成了嚴(yán)重的傷害。他還認(rèn)為,一直以來 GitHub 對(duì)自由軟件而言都非常糟糕,他甚至可以想象被微軟收購(gòu)后將會(huì)變得更糟糕。
Mozilla 年度報(bào)告出爐:營(yíng)收狀況、隱私安全與互聯(lián)網(wǎng)生態(tài)變革
整體報(bào)告的關(guān)鍵詞繼承了 Mozilla 一貫的理念,即“隱私與互聯(lián)網(wǎng)安全”。
2019 年 Haskell 調(diào)查報(bào)告
生態(tài)還是一個(gè)語言發(fā)展的關(guān)鍵因素。
IntelliJ IDEA 2019.3 發(fā)布,更好的性能和質(zhì)量
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
今天同學(xué)突然給我推薦了這個(gè)鏈接 https://github.com/mobile ,看著好像是github要出移動(dòng)版app了,但是現(xiàn)在能下載么,是需要等郵件通知么?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
最近微信小程序很火,收集了許多GitHub上的微信小程序開源項(xiàng)目,做了一個(gè)合集 微信小程序合集
內(nèi)含各種微信小程序相關(guān)的開發(fā)工具,Demo,UI組件,開發(fā)框架,項(xiàng)目實(shí)例等等等等
會(huì)不斷更新,大家喜歡的可以star一下。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
如果你參加了2018年中國(guó)開源年會(huì),相信你對(duì)主題演講的講師們一定念念不忘。其中風(fēng)度翩翩,天才橫溢,虛懷若谷的 GitHub CEO Nat Friedman 給我們帶來的爐邊對(duì)話,更是以璀璨的光華吸引了一大波粉絲。更遑論一票難求的開源之夜上 Nat 與開源界同仁隨桌而坐,“談笑有鴻儒”的風(fēng)范讓參加夜宴的一票粉絲心神激蕩,嗨到難以自持。
彼時(shí),微軟剛剛發(fā)布收購(gòu)開源神器 GitHub 的消息,如今一年過去,GitHub CEO 的承諾是否一一兌現(xiàn)?又會(huì)給我們帶來怎樣振奮人心的消息?屆時(shí),這些答案將由 Nat Friedman 在 2019 中國(guó)開源年會(huì)上親自為大家揭曉。
Nat 在 COSCon'18
Nat Friedman 在 COSCon'18 接受媒體采訪
COSCon'18 爐邊對(duì)話
Nat Friedman 簡(jiǎn)介
Nat Friedman 是 GitHub 首席執(zhí)行官,他推動(dòng)公司的愿景是建立全球開發(fā)人員社區(qū),共同構(gòu)建未來。 Nat 熱衷于打造令開發(fā)人員感到愉悅的產(chǎn)品,他在開源社區(qū)中長(zhǎng)期擔(dān)任領(lǐng)頭羊。作為聯(lián)合創(chuàng)始人, Nat 于 2011 年創(chuàng)立 Xamarin (在 2016 年被微軟收購(gòu)后擔(dān)任首席執(zhí)行官), 1999 年創(chuàng)立 Ximian 。他也是 AI Grant , GNOME 基金會(huì)的聯(lián)合創(chuàng)始人,加州 YIMBY 的聯(lián)合創(chuàng)始人和主席。目前 Nat 和他的妻子、女兒以及三只狗住在舊金山。
Nat Friedman, CEO, GitHub
小福利走起
大家有什么問題想要問 Nat 嗎 ? 歡迎在本文評(píng)論區(qū)中提出,小編精選之后會(huì)直接提交給 Nat 哦!
在朋友圈轉(zhuǎn)發(fā)大會(huì)相關(guān)文章,截圖后,發(fā)送到開源社微信公眾號(hào)后臺(tái)可以參與抽獎(jiǎng),獎(jiǎng)品是 COSCon'19 定制禮品(需現(xiàn)場(chǎng)領(lǐng)取哦)。逢周五開獎(jiǎng),每周有 3 個(gè)中獎(jiǎng)名額,祝你好運(yùn)!
早鳥購(gòu)票請(qǐng)掃描以下二維碼
或者猛擊" 原文 " 進(jìn)入官網(wǎng)購(gòu)票
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
換楊冪的臉這項(xiàng)技術(shù)的GitHub地址有嗎?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 鑒黃的python包,誰有GitHub的地址,誰知道呀?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> { "endRow":4, "hasNextPage":true, "hasPreviousPage":true, "isFirstPage":false, "isLastPage":false, "list":[ { "id":"user2", "password":"user2", "username":"user2" } ], "navigateFirstPage":1, "navigateLastPage":5, "navigatePages":8, "navigatepageNums":[1,2,3,4,5], "nextPage":3, "pageNum":2, "pageSize":2, "pages":5, "prePage":1, "size":2, "startRow":3, "total":10 }
這些默認(rèn)的分頁(yè)屬性,能自定義嗎
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
詳情: https://blog.csdn.net/u012997396/article/details/88869449
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
想節(jié)后重新梳理公司代碼的管理結(jié)構(gòu),想問下各位的結(jié)構(gòu)是怎么樣的,最好能圖文說明下,特別是dev這個(gè)分支,到底需不需要真的有點(diǎn)迷。歡迎發(fā)表觀點(diǎn)
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
idea版本:
使用的是GitHub。
我使用本地master分支pull GitHub的master分支下來,
結(jié)果:文件夾全沒了。 。上面那個(gè)D/eleba還是可以一層一層找到。
但是project板塊里面的文件夾全沒了,我嘗試恢復(fù)往前版本,文件夾還是沒出來啊。。。
我想知道怎么才能把文件夾顯示出來,這是ide的一個(gè)bug?如何解決pull下來之后文件夾消失的問題,,
如果能跟我講講原因那就更好了,謝謝。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> @Roddy 請(qǐng)問怎么修改kindeditor的默認(rèn)字體大小,現(xiàn)在的字體太小了,我這個(gè)項(xiàng)目的客戶對(duì)象都是老頭
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我想知道你的這個(gè)kindeditor怎么自動(dòng)換行的,我的從一個(gè)txt文檔復(fù)制出來的粘貼在里面就不換行,不知道為什么,是配置的問題么?如果是,能不能給下你的配置信息,謝謝,xin_qing_happy@163.com
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
從數(shù)據(jù)庫(kù)讀取的內(nèi)容(kindeditor編輯保存的)帶有css樣式和html標(biāo)簽,如何去除這些樣式,在jsp頁(yè)面只顯示純文本?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 請(qǐng)問,在bootstrap的模態(tài)彈出框里面使用kindedit,kindedit里面所有彈出框的的輸入表單都不能輸入,怎么解決?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 在獲取textarea值的時(shí)候,從數(shù)據(jù)庫(kù)讀出來的值都能獲取到,但是新輸入的值就得不到,只要是新輸入的都得不到值
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
比如kindeditor支持嗎?或者推薦幾個(gè)。謝謝
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
本人新手,用PHP&MySQL寫了個(gè)文章發(fā)布系統(tǒng),富文本編輯器使用的是Kindeditor。
癥狀說明:
我想通過編輯器發(fā)些代碼,添加文章時(shí)可以正常發(fā)代碼,包括 < 也被正常轉(zhuǎn)義為 < ,保存到數(shù)據(jù)庫(kù)中也是 <。
但如果修改文章,從數(shù)據(jù)庫(kù)中讀取到的 < 會(huì)被 KindEditor 自動(dòng)轉(zhuǎn)義為 < ,導(dǎo)致內(nèi)容無法正確顯示。
以下是 Kindeditor 的調(diào)用代碼 KE.show({ id : 'content', urlType: 'absolute', imageUploadJson : '../../upload_img.php', //相對(duì)于kindeditor\plugins\image\image.html fileManagerJson : '../../select_img.php', //相對(duì)于kindeditor\plugins\file_manager\file_manager.html allowFileManager : true, });
數(shù)據(jù)是直接通過 $_POST['content'] 提交到 MySQL 中的,沒有任何轉(zhuǎn)義。
翻過 oschina 的帖子,也有人提出類似的問題,紅署哥哥的回答是把 & 轉(zhuǎn)義為 & ,于是我就使用PHP的 str_replace()函數(shù)把&轉(zhuǎn)義成&。
這樣 < 就變成了 < ,這倒是可以解決 Kindeditor 自動(dòng)轉(zhuǎn)義 < 的問題,但如果我打一個(gè)空格也就是 也變成了   ,無法正常顯示空格。
究竟該如何解決特殊字符轉(zhuǎn)義的問題呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我跨域上傳圖片發(fā)生了這個(gè)事情! 有人遇到過嗎
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
不使用newlineTag: 'br' 的話各種
標(biāo)簽不堪入目 .
網(wǎng)上有人給出方案:
版本 4.1.10 kindeditor.js 第 1514 行這個(gè)函數(shù) box.top 是負(fù)數(shù)了, 然而這個(gè)函數(shù)返回后, 第 2763 行執(zhí)行了 win.scrollTo(pos.x, pos.y); 滾動(dòng)滾動(dòng)條. pos : function() { var self = this, node = self[0], x = 0, y = 0; if (node) { if (node.getBoundingClientRect) { var box = node.getBoundingClientRect(), pos = _getScrollPos(self.doc); x = box.left + pos.x; //y = box.top + pos.y; //臨時(shí)解決方案 針對(duì) newlineTag: 'br', y = pos.y; } else { while (node) { x += node.offsetLeft; y += node.offsetTop; node = node.offsetParent; } } } return {x : _round(x), y : _round(y)}; },
但是我測(cè)試沒用啊 .
要不各位再推薦一個(gè)小清新的在線編輯器 .
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@江南白衣 你好,想跟你請(qǐng)教個(gè)問題:
看到你的springside里面的shiro權(quán)限應(yīng)用,我結(jié)合我自己的想法,碰到了如下的門檻:
列舉一個(gè)你以前的mini-web中的權(quán)限例子如下:
1。針對(duì)USER模塊的 保存方法+權(quán)限判斷
@RequiresPermissions("user:edit")
@RequestMapping(value = "save/{id}")
public String save(@ModelAttribute("user") User user, RedirectAttributes redirectAttributes) {}
2。針對(duì)GROUP模塊的 保存方法+注解權(quán)限判斷
@RequiresPermissions("group:edit")
@RequestMapping(value = "save/{id}")
public String save(@ModelAttribute("group") Group group, RedirectAttributes redirectAttributes) {}
思考點(diǎn)1:針對(duì)修改保存的方法,方法體里面的內(nèi)容都差不多,如果有多個(gè)模塊,每次都寫這些重復(fù)的修改保存方法,則感覺公用性不強(qiáng),所以按照自己的思想,用泛型寫個(gè)公用的增刪修改的controller,其他的controller繼承公用的controller的就不需要在寫這些CRUD的方法了。
但在加上權(quán)限的時(shí)候出現(xiàn)了問題 ,從上面的例子,可以看到@RequiresPermissions("user:edit"),@RequiresPermissions("group:edit")直接寫的權(quán)限,因?yàn)閏ontroller公用的save方法中的權(quán)限判斷,不可能直接寫哪個(gè)模塊的edit權(quán)限,所以請(qǐng)教SHIRO中的@RequiresPermissions可否寫成@RequiresPermissions("${模塊名}:edit")這種變量思想的表達(dá)式,來達(dá)到權(quán)限識(shí)別可以用到公用的controller 中。
針對(duì)這種動(dòng)態(tài)權(quán)限,其實(shí)可以在save方法體中 用如下方式可以實(shí)現(xiàn)
if(currentUser.isPermitted(entityClass.getSimpleName()+":save")){
.........
},但是希望有注解的方式可以實(shí)現(xiàn)。
其他的思路:如果SHIRO的權(quán)限注解不提供變量寫法,可否自己寫一個(gè)@interface后,將變量轉(zhuǎn)成字符之后再傳遞給shiro去解析呢?!
------------------感覺寫的羅嗦,不知道你有沒時(shí)間來幫我分析分析,先謝了!---------
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我有一個(gè)自定義異常處理類繼承spring mvc的 DefaultHandlerExceptionResolver ,并打算重寫doResolveException()方法, 但是發(fā)現(xiàn)只有controller 拋500 時(shí)候能夠攔截到, 其他錯(cuò)誤比如400、404 等都無法進(jìn)入到該方法,好詭異。。 不知道有沒有人也遇到這個(gè)問題??
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
當(dāng)對(duì)shiro配置 AOP式方法級(jí)權(quán)限檢查時(shí):
執(zhí)行刪除操作時(shí)(刪除用戶,同時(shí)刪除用戶下的任務(wù))會(huì)報(bào)錯(cuò):
Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query
at org.hibernate.ejb.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:96)
at org.springframework.data.jpa.repository.query.JpaQueryExecution$ModifyingExecution.doExecute(JpaQueryExecution.java:154)
at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:55)
at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:95)
at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:85)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:313)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155)
具體錯(cuò)誤語句,我測(cè)試過應(yīng)該是:
taskDao.deleteByUserId(id);
@Modifying
@Query("delete from Task task where task.user.id = :id")
void deleteByUserId(@Param("id") Long id);
如果修改為: taskDao.delete(id); delete(id)是JPA DATA中的方法,不會(huì)報(bào)錯(cuò)。
不配置AOP式方法級(jí)權(quán)限檢查,也不會(huì)報(bào)錯(cuò)。
在quickstart和showcase都會(huì)存在,配置方法和showcase一模一樣,showcase雖然有這個(gè)例子,也不會(huì)報(bào)錯(cuò),但可惜這種情況,屬于我的上面舉的不報(bào)錯(cuò)的情況,調(diào)用的是JPA自帶的delete方法。希望作者能看一下,看看是什么問題,也希望大家能解決一下。經(jīng)過我測(cè)試,是不是JPA DATA 和 shior AOP式方法級(jí)權(quán)限檢查有沖突,導(dǎo)致事務(wù)失效?。?!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
有兩個(gè)表book圖書表和cat分類表 還有一個(gè)中間表book_cat(book_id,cat_id)
//book實(shí)體類 private Set cats;//所屬分類 @ManyToMany(cascade = CascadeType.PERSIST) @JoinTable(name = "book_cat", joinColumns = @JoinColumn(name = "book_id"), inverseJoinColumns = @JoinColumn(name = "cat_id")) public Set getCats() { return cats; } public void setCats(Set cats) { this.cats = cats; }
//cat實(shí)體類 private Set books; @ManyToMany(cascade = CascadeType.PERSIST) @JoinTable(name = "book_cat_relation", joinColumns = @JoinColumn(name = "cat_id"), inverseJoinColumns = @JoinColumn(name = "book_id")) public Set getBooks() { return books; } public void setBooks(Set books) { this.books = books; }
字段是set集合類型的 我需要通過cat_id查詢到book表的內(nèi)容 請(qǐng)問怎樣用SearchFilter實(shí)現(xiàn)查詢set集合字段
怎樣利用下面的方法查詢 /** * 創(chuàng)建動(dòng)態(tài)查詢條件組合 * * @param userId * @param searchParams * @return */ private Specification buildSpecification( Map searchParams) { Map filters = SearchFilter.parse(searchParams); //filters.put("id", new SearchFilter("id", Operator.EQ, catId)); Specification spec = DynamicSpecifications.bySearchFilter( filters.values(), Book.class); return spec; }
謝謝大家(特地注冊(cè)個(gè)號(hào)進(jìn)來問 ,沒想到還要等1個(gè)小時(shí)..... ,希望大家?guī)蛶兔ρ?實(shí)現(xiàn)過類似功能的朋友給點(diǎn)經(jīng)驗(yàn) )
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
如題,有這樣一個(gè)需求,
http://a.b.com/user/json 返回json數(shù)據(jù)
http://a.b.com/user/html 返回一個(gè)頁(yè)面
那如何寫springmvc 的controller的方法 ?
@ResponseBody 只返回json 而 ModelAndView或String 返回頁(yè)面 。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
看了一下,SpringSide 中 Spring-Data-JPA 的示例都是簡(jiǎn)單的查詢。
現(xiàn)在有個(gè)簡(jiǎn)單的場(chǎng)景:頁(yè)面有一個(gè)“用戶名”查詢框和一個(gè)查詢按鈕。點(diǎn)擊查詢按鈕,動(dòng)態(tài)組裝的sql無非就是下面兩條: select * from user select * from user where username like '%term%'
用 Spring-Data-JPA 應(yīng)該怎么做呢?看到的都是用 Specifications 的簡(jiǎn)單例子。 http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/#specifications
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
在實(shí)踐shiro來實(shí)現(xiàn)權(quán)限時(shí),遇到一些問題.很不解.
我模仿springside的配置,但是 寫一個(gè)ShiroDbRealm 繼承AuthorizingRealm時(shí),
doGetAuthenticationInfo總是沒能成功登錄.我懷疑是數(shù)據(jù)庫(kù)問題.但是不知道怎么入手修改.
Controller代碼
@RequestMapping(value = "/login", method = RequestMethod.POST) public String login(String username, String password, Model model) { // model.addAttribute(FormAuthenticationFilter.DEFAULT_USERNAME_PARAM, // userName); UsernamePasswordToken token = new UsernamePasswordToken(username, password); token.setRememberMe(true); Subject currentUser = SecurityUtils.getSubject(); try { currentUser.login(token);//不明白的是他怎么匹配密碼的?我沒告訴他那個(gè)是正確的password,那個(gè)是username. } catch (UnknownAccountException uae) { System.out.println("賬戶不存在!"); } catch (IncorrectCredentialsException ice) { System.out.println("密碼不正確!"); } catch (LockedAccountException lae) { System.out.println("賬戶被禁了!"); } catch (AuthenticationException ae) { System.out.println("認(rèn)證錯(cuò)誤!"); } return "index"; }
錯(cuò)誤如下
這個(gè)是數(shù)據(jù)庫(kù)表 t_staff
public class ShiroDbRealm extends AuthorizingRealm{ protected AccountService accountService; @Autowired public void setAccountService(AccountService accountService) { this.accountService = accountService; } /** *授權(quán)查詢回調(diào)函數(shù), 進(jìn)行鑒權(quán)但緩存中無用戶的授權(quán)信息時(shí)調(diào)用. */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal(); Staff staff = accountService.findUserByLoginName(shiroUser.loginName); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); for (Role role : staff.getRoles()) { //基于Role的權(quán)限信息 info.addRole(role.getName()); //基于Permission的權(quán)限信息 info.addStringPermissions(role.getPermissionList()); } return info; } /** * 登錄時(shí)調(diào)用 */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException { UsernamePasswordToken token = (UsernamePasswordToken) authcToken; Staff staff=null; staff = accountService.findUserByLoginName(token.getUsername()); System.out.println("username"+token.getUsername()); System.out.println("password"+new String(token.getPassword())); if (staff != null) { if (staff.getStatus().equals("disabled")) { throw new DisabledAccountException(); } // byte[] salt = Encodes.decodeHex(staff.getSalt()); return new SimpleAuthenticationInfo( new ShiroUser(staff.getLoginname(), staff.getName()), staff.getPassword(), // ByteSource.Util.bytes(salt), getName()); } else { return null; } } } shiro關(guān)鍵配置
Shiro安全配置 /logout = logout /account/** = user /** = authc HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 我看到4.0用了Mybatis和JPA的整合,但是showcase里只是簡(jiǎn)單的對(duì)單表查詢的mybatis與JPA做了整合。但是當(dāng)使用多表查詢的時(shí)候,還能和JPA整合嗎?我網(wǎng)上找了好久,一直沒看到什么方法。不知這里的高手能否指點(diǎn)一二。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
在modules目錄運(yùn)行mvn install,出現(xiàn)以下錯(cuò)誤:
但是我在本地nexus中已經(jīng)加入了此包
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我用了SpringSide里面的QuickStart例子,但是用Spring Boot重新集成,有學(xué)習(xí)Spring Boot的同學(xué)可以看看。里面的SiteMesh已經(jīng)升級(jí)到3.0.1, Shiro、 SiteMesh、ActiveMQ都改用了Java Config的方式集成。
https://github.com/fireshort/spring-boot-quickstart