WEB-INF中創(chuàng)建的文件不能直接從外部訪問(wèn)到, 這是servlet api的標(biāo)準(zhǔn)里規(guī)定的, 所有web容器也都是按此實(shí)現(xiàn)的。
想用的話,可以通過(guò)代碼(如spring mvc)或在可以訪問(wèn)到的jsp里用include標(biāo)簽來(lái)間接訪問(wèn)。
靜態(tài)資源的保護(hù)區(qū)訪問(wèn)
package com.example;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.servlets.DefaultServlet;
public class StaticServlet extends DefaultServlet
{
protected String pathPrefix = "/static";
public void init(ServletConfig config) throws ServletException
{
super.init(config);
if (config.getInitParameter("pathPrefix") != null)
{
pathPrefix = config.getInitParameter("pathPrefix");
}
}
protected String getRelativePath(HttpServletRequest req)
{
return pathPrefix + super.getRelativePath(req);
}
}
在應(yīng)用web.xml配置
<servlet>
<servlet-name>StaticServlet</servlet-name>
<servlet-class>com.example.StaticServlet</servlet-class>
<init-param>
<param-name>pathPrefix</param-name>
<!--這里是你靜態(tài)資源的地址 -->
<param-value>/WEB-INF/static</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>StaticServlet</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
外層和內(nèi)層是兩個(gè)作用域,每次變量訪問(wèn)都是訪問(wèn)最近的,如果沒(méi)有var n = i這一句話,就訪問(wèn)到頂級(jí)作用域了,而此時(shí)i已經(jīng)到10了
1可以存儲(chǔ)到客戶端本地,cookie,localstorage等
2可以利用form提交過(guò)去(跳轉(zhuǎn))
可以試試這個(gè)library: jsontosass-loader
已解決,是子元素下 justify-content center屬性的問(wèn)題,當(dāng)初用這個(gè)屬性是因?yàn)榉诺膱D片與文字中間有一塊間隙,后給img一個(gè)vertical-align: bottom;屬性解決了
標(biāo)準(zhǔn)瀏覽器下滾動(dòng)條是屬于 html 元素的,所以通過(guò) document.documentElement.scrollTop 可以獲取滾動(dòng)高度。
去除 doctype 聲明此時(shí)瀏覽器是怪異模式,滾動(dòng)條是屬于 body 的,所以去除了反而沒(méi)問(wèn)題。
萬(wàn)金油寫法:document.documentElement.scrollTop || document.body.scrollTop
你的事件綁定在什么上?如果是綁定在DIV上則可以直接操作,如果綁定在body上則需要監(jiān)聽(tīng)指定元素(例如某些class)來(lái)觸發(fā)事件。
假設(shè)你的域名是www.abc.com
首先你在后臺(tái)按照現(xiàn)有的form,用Gravity Forms新建一個(gè)一模一樣的form,注意字段的name要完全匹配,取得這個(gè)form的ID號(hào),假設(shè)是1
然后把你現(xiàn)有的form的提交地址寫成:
http://www.abc.net/gravityfor...×××××&signature=×××××&expires=1497603994
api_key和signature在 Gravity Forms的設(shè)置 - Web API里獲取。上面這個(gè)URL也可以在Web API的開(kāi)發(fā)者工具里面直接獲取
就這么簡(jiǎn)單
這應(yīng)該是控制臺(tái)的原因console.log是異步的嗎?
轉(zhuǎn)義成"%2F"
params(treeMap) sign(params,key)
如果想弄個(gè)完善的權(quán)限管理系統(tǒng),可以模擬下linux的,簡(jiǎn)單來(lái)說(shuō)就是:
1,建立角色(組)
2,用戶屬于哪個(gè)組
3,組里面有哪些權(quán)限(比如哪幾個(gè)頁(yè)面的查看權(quán)限,或則頁(yè)面里面增加按鈕的權(quán)限)
這樣用戶登錄之后就可以,根據(jù)用戶找到其屬于哪個(gè)組,進(jìn)而知道這個(gè)組有哪些權(quán)限。
我有個(gè)系統(tǒng)就是這么做的,感覺(jué)還比較方便的。
loading需要在具體頁(yè)面中調(diào)用,即跟組件,樓上正解
res.send(state);
應(yīng)該是走了這個(gè)分支,http的response返回的就是state這個(gè)json,你需要node做模本引擎的話都需要res.render來(lái)渲染頁(yè)面,把stata作為參數(shù)傳入render方法,res.send就是直接給返回?cái)?shù)據(jù)(json)給client了
你應(yīng)該在原文件里寫相對(duì)路徑,然后webpack生成后會(huì)變成絕對(duì)路徑。
比如
原代碼里這么寫的
.phoneBox {
padding-top: 45px;
width: 328px;
height: 600px;
float: Left;
background-image: url(../img/phone.svg);
background-repeat: no-repeat;
border-radius: 28px;
box-shadow: 2px 2px 20px rgba(0,0,0,.1);
}
經(jīng)過(guò)webpack構(gòu)建后
.phoneBox {
padding-top: 45px;
width: 328px;
height: 600px;
float: Left;
background-image: url(//localhost/h5_view_2/images/phone-d6b6a6.svg);
background-repeat: no-repeat;
border-radius: 28px;
box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.1); }樓上說(shuō)的對(duì)呢~
改成這樣就好了
render(){
console.log(this.props.children[0].props); //object
return this.props.children.map((val,i)=>{
console.log(val);
return <div key={i} className="black-board">{val.type}</div>
})
}
可以直接返回?cái)?shù)組不用加Fragment
https://reactjs.org/blog/2017...
這時(shí)候需要 css: object-fit: cover,這個(gè)屬性所需的 html 結(jié)構(gòu)也只有一層:
<img class="banner-img" src="blah">
.banner-img {
height: 420px;
width: 100%;
object-fit: cover
}
這樣一來(lái)就自動(dòng)居中了~
res.sendFile() 的文件地址寫錯(cuò)了
可以這個(gè)寫
var path = require('path');
...
res.sendFile(path.join(__dirname, 'index.tpl.html'))不考慮你代碼的任何邏輯,對(duì)錯(cuò):
function alertSet(e) {
$("#js-alert-box").show();
$("#js-alert-head").html(e);
var t = 20, n = $("#js-sec-circle");
$("#js-sec-text").html(t);
setInterval(function () {
if (0 === t) {
location.;
} else {
t -= 1;
$("#js-sec-text").html(t);
n.css('stroke-dashoffset', Math.round(t / 20 * 735) - 735);
}
},
970);
}
順便說(shuō)一線,js可以省略結(jié)束的分好,但是結(jié)束不是逗號(hào)。
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。