問題總結(jié)

<c:forEach />方法嵌套問題

最近遇到需要<c:forEach />進(jìn)行嵌套調(diào)出數(shù)據(jù)册着,但是如果在里層用外層數(shù)組的屬性會出現(xiàn)問題兢交,例如
lists是List<String>類型的摩疑, 我在外層循環(huán)時可以獲得String的對象匕累,但是如果里層循環(huán)如果想要獲取這個String對象所對應(yīng)的后臺數(shù)據(jù)卻不能直接用EL表達(dá)式的${String},因?yàn)檫@樣獲取到的還是個String類型渡八,而且也無法嵌套使用${${}}的方式央星,那么要怎么處理呢霞怀,我在修改了很多次后臺的數(shù)據(jù)存放集合類型,終于確認(rèn)了一個集合---hashmap,原因在此莉给,我可以調(diào)用hashmap.value來獲取到我想要的對象毙石,而不是直接用${}來獲取hashmap.value對象,這樣就可以避免嵌套的問題颓遏。
例如:

    <c:forEach items="${sale2Maps}" var="map" varStatus="index">
        <li>
            <a href="#" style="font-size: 13px;">${map.key}</a>
            <ul style="display: none;margin-left: 10px" class="closed">
                <c:forEach var="headman" items="${map.value}">
                    <a href="#" style="font-size: 10px;" class="sale_headman">${headman.ename}</a>
                </c:forEach>    
            </ul>
        </li>
    </c:forEach>

json數(shù)據(jù)傳輸?shù)角岸说膯栴}

昨天遇到個問題就是徐矩,前端通過ajax把json數(shù)據(jù)傳輸?shù)胶笈_,后臺接收到數(shù)據(jù)叁幢,有兩部分?jǐn)?shù)據(jù)需要發(fā)送滤灯,這時候就遇到個問題,如果去發(fā)送這兩部分不同類型的數(shù)據(jù)曼玩,我起初將第一部分?jǐn)?shù)據(jù)使用model.addAttribut()的方式進(jìn)行添加鳞骤,然后第二部分?jǐn)?shù)據(jù)正常使用response將json寫前端,這個時候出現(xiàn)問題了黍判,第一部分使用model添加的數(shù)據(jù)在前端收不到弟孟。
這種情況其實(shí)很正常,之前能夠通過model進(jìn)行傳輸样悟,是因?yàn)榉椒ǖ淖詈蠓祷亓隧撁娴刂贩髂迹诜祷仨撁娴刂返臅r候會對model中存儲的數(shù)據(jù)使用request.addAttribute()發(fā)送到前端庭猩,而在上面的情況中,我的數(shù)據(jù)流是沒有經(jīng)過這個流程的陈症,而是以response的方式直接寫到前端蔼水,那么就需要將這個model包裝到response中,后來我想了一個辦法录肯,既然是兩部分?jǐn)?shù)據(jù)趴腋,雖然數(shù)據(jù)格式不同,但是我還是可以利用hashmap的方式论咏,賦予第一部分和第二部分不同的key优炬,在前端就可以直接通過key來獲取兩部分。
hashmap傳輸?shù)角岸说墨@取方法跟list有點(diǎn)不同
看例子:

    uccess:function(data){
       var str = "";

       for(var a in data){
           str+="<div style='width: 200px;height: auto;min-height: 200px;border:1px solid #999;margin-left:"+
               "40px;margin-top: 40px;float: left;' title='"+params.department+"'><div class='sale_head' "+
               "style='border-bottom: 1px dashed"+
               "#999;'><img src='images/sale.png' style='height: 50px;width: auto;'><span style='font-size:15px;"+
               "margin-left: 30px' class='pic'>"+a+"</span></div><div class='sale_man' style='margin-top: 20px'>";
                for(var j = 0;j<data[a].length;j++){
                    str+="<span style='margin-left: 5px;margin-top: 10px;font-size: 13px' class='pic'>"+data[a][j].ename+"</span>";
                }
                tr+="</div></div>";
            }
         $("#mws-container").html(str);
    },

這要是兩部分
第一部分厅贪,for(var a in data)
這里的a就直接是key了蠢护,可以直接使用

第二部分是獲取key中的value
可以通過data[value]的方式獲取value


mybatis中resultMap有些列的輸出結(jié)果為null

當(dāng)我們進(jìn)行多表聯(lián)合查詢的時候,就不能簡單的使用resultType來設(shè)置返回值類型养涮,而需要設(shè)置resultMap的方式葵硕,基于此,我在輸出有些列的時候出現(xiàn)空值贯吓,但是將sql語句在dos下執(zhí)行懈凹,又能夠正常執(zhí)行,那么顯然問題出現(xiàn)在賦值的時候悄谐,我查詢到數(shù)據(jù)沒有賦值給我創(chuàng)建的變量介评,舉個例子:
--用戶表
create table admin(
id int primary key auto_increment,
name varchar(20) comment "用戶名",
age int comment "年齡",
other_id int
)

--用戶其他信息表
create table admin_other(
id int,
address varchar(50) comment "地址",
)
在數(shù)據(jù)庫中創(chuàng)建這兩個表,然后在java代碼中需要創(chuàng)建這兩個表相關(guān)的POJO,這個時候要注意爬舰,我希望的是admin中嵌套admin_other,那么我就需要在admin中提供admin_other的對象威沫,以及它的get與set方法

public class admin{
    private int id;
    private String name;
    private int age;
    private int otherId;
    private AdminOther other;

//getter and setter
...
}

然后在xml文件中,多表聯(lián)合查詢的sql語句可以如下:

    select 
        a.id as adminId,
        a.name as adminName,
        a.age as adminAge,
        b.id as otherId,
        b.address as otherAddress
    from admin a left outer join admin_other b
    on a.other_id = b.id

在這之前的操作都是對的洼专,下面是關(guān)于resultMap方面的設(shè)置

    <resultMap id="adminResultMap" type="admin">
        <id property="id" column="id" />
        ...
    </resultMap>

如果我這樣寫,那么id的值絕對是為空孵构,為什么呢屁商,注意下我們前邊sql語句的設(shè)置,我們設(shè)置了別名颈墅,也就是我們把a(bǔ)dmin.id設(shè)置為了adminId,也就是說蜡镶,我們只有按照下邊這樣的設(shè)置才不會有問題

    <resultMap id="adminResultMap" type="admin">
        <id property="id" column="adminId" />
        ...
    </resultMap>

歸根究底,原因在于我們SQL得到的列與我們的POJO不匹配的問題恤筛,特別是設(shè)置了autoMapping這個屬性官还,進(jìn)行自動匹配,如果你設(shè)置了別名毒坛,那么就很可能出錯望伦,最保守的做法就是每個屬性與列進(jìn)行一一對應(yīng)林说,這樣就不會出錯,但是工作量比較大


2018-10-15

js實(shí)現(xiàn)頁面刷新計(jì)數(shù)

今天遇到一個問題屯伞,我使用遮罩的方式腿箩,簡單的進(jìn)行一個表數(shù)據(jù)的增刪改,但是在修改完表后劣摇,我希望馬上顯示出結(jié)果珠移,但是因?yàn)槲也皇鞘褂胊jax的方式來添加數(shù)據(jù)的,那么如果刷新頁面末融,將會回到初始的狀態(tài)钧惧,也就是我的首頁,這樣我還需要重新點(diǎn)進(jìn)這個頁面才能看到這個數(shù)據(jù)勾习,這樣很不方便浓瞪,所以我就在想,能不能計(jì)算頁面刷新來實(shí)現(xiàn)语卤,加載頁面后直接進(jìn)入這個頁面追逮,測試后的結(jié)果是失敗的,失敗的原因有兩方面粹舵,一方面钮孵,雖然我刷新頁面后直接跳轉(zhuǎn)到這個頁面,但是還是有個轉(zhuǎn)場的過程眼滤,這樣就導(dǎo)致體驗(yàn)感不好巴席;另一方面,我不止這個頁面有刷新頁面的指令诅需,那么就會造成漾唉,我刷新界面后,以后只會跳轉(zhuǎn)這個界面的BUG堰塌,基于這兩個方面赵刑,頁面刷新計(jì)數(shù)的方法宣告失敗,但是也有可以借鑒的地方场刑,可以計(jì)算網(wǎng)站的訪問量哈般此,好,下面介紹下頁面刷新計(jì)數(shù)的方法:

window.onload = function(){
  if(window.name==""){
    window.name = "0";
  }else{
    window.name = eval(window.name)+1;
  }
}

window的name給我們提供了計(jì)數(shù)方法的實(shí)現(xiàn)
原本name的作用是:可設(shè)置或返回存放窗口的名稱的一個字符串牵现。
參考鏈接:http://www.reibang.com/p/ae69ff3d54ea

最后我是怎么實(shí)現(xiàn)這個功能的铐懊,有點(diǎn)取巧了,我在h5中數(shù)據(jù)的最后加了一個標(biāo)識的標(biāo)簽<div />瞎疼,這個標(biāo)簽可以得到數(shù)據(jù)的最后一行科乎,然后我根據(jù)按鈕點(diǎn)擊添加,每次都會在這個標(biāo)簽后使用append()方法追加新的文本贼急,也就是說茅茂,網(wǎng)頁本身沒有刷新捏萍,我是靠局部追加數(shù)據(jù)來實(shí)現(xiàn)的。

使用ajax獲取不到外層對象的問題

通過F12調(diào)試可以發(fā)現(xiàn)玉吁,在ajax里使用$(this)是獲取不到外層的對象的照弥,應(yīng)該說這個時候的this其實(shí)指代的是ajax本身,所以我在外層定義一個var變量來保存這個標(biāo)簽的對象进副,在ajax中還是無法獲取到這個對象这揣,怎么回事呢?
我打開這個var變量看了下影斑,他的父類给赞,父類的父類,一層層的往上會將這些標(biāo)簽全部存儲到一個數(shù)組中矫户,也就是我通過$(this).parents()的方式獲取到的不止一個標(biāo)簽了片迅,而是一個標(biāo)簽數(shù)組,那么根據(jù)你需要標(biāo)簽的位置皆辽,取下標(biāo)索引就可以拿到你要的標(biāo)簽柑蛇,我也這么做了,可結(jié)果還是出了問題驱闷,這讓我很困惑耻台,于是我對比一下平時我們${對象}和我通過var變量保存的有什么區(qū)別,可別說空另,還真有區(qū)別盆耽,通過var變量保存的只是標(biāo)簽,而不是標(biāo)簽對象扼菠,需要通過${變量}的方式來獲取對象摄杂,這樣對比,是不是說明這個變量等于"#id"或者".class"呢循榆,也就是說析恢,${}里頭其實(shí)也就是標(biāo)簽,我們只有通過${}才能拿到標(biāo)簽的對象秧饮∮彻遥看下我代碼的實(shí)現(xiàn):

    $(".deleteAdmin").live("click",function(){
        var params = {};
        params.userName = $(this).parents().parents().find(".userName").html();
        var target = $(this).parents().parents()[0];//第一部分,將標(biāo)簽存入變量中
        $.ajax({
            url:"deleteAdmin",
            type:"get",
            data:params,
            dataType:"json",
            success:function(){
                $(target).css("display","none");//取出標(biāo)簽并且獲取到對象進(jìn)行后續(xù)操作
            },
            error:function(){
                alert("error");
            }
        });
    });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浦楣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子咪辱,更是在濱河造成了極大的恐慌振劳,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件油狂,死亡現(xiàn)場離奇詭異历恐,居然都是意外死亡寸癌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門弱贼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒸苇,“玉大人,你說我怎么就攤上這事吮旅∠荆” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵庇勃,是天一觀的道長檬嘀。 經(jīng)常有香客問我,道長责嚷,這世上最難降的妖魔是什么鸳兽? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮罕拂,結(jié)果婚禮上揍异,老公的妹妹穿的比我還像新娘。我一直安慰自己爆班,他們只是感情好衷掷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛋济,像睡著了一般棍鳖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碗旅,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天渡处,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛铣鹏,可吹牛的內(nèi)容都是我干的书闸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼松蒜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起僚纷,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拗盒,沒想到半個月后怖竭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陡蝇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年痊臭,在試婚紗的時候發(fā)現(xiàn)自己被綠了哮肚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡广匙,死狀恐怖允趟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸦致,我是刑警寧澤潮剪,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蹋凝,受9級特大地震影響鲁纠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鳍寂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一改含、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迄汛,春花似錦捍壤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至睹逃,卻和暖如春盗扇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沉填。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工疗隶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翼闹。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓斑鼻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猎荠。 傳聞我的和親對象是個殘疾皇子坚弱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.Typescript中的&理解 參數(shù)中的 & 表示props對象同時擁有了TagManagementState...
    Lethe35閱讀 7,598評論 0 1
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評論 25 707
  • You,re the king 你就是國王(記憶源于圖片,king通過發(fā)音記憶單詞关摇,k+ing) My duty ...
    未來7年沙姐姐閱讀 385評論 0 0
  • 活在一個小小的獵場荒叶,周圍的圈子好像就這么大,最后連空氣也覺得壓抑输虱。想要不斷爬上新的山脈些楣,不斷看到更廣闊的夜空。 厭...
    RainT閱讀 176評論 0 1
  • 我跟老安認(rèn)識二十多年了,光著腚的時候就一起玩了戈毒。 上大學(xué)后就沒怎么見過,畢業(yè)之后來到南京横堡,初來乍到埋市,老安卻已經(jīng)...
    紅桃k酒主閱讀 529評論 0 0