多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 2014年工作中遇到的20個問題:141-160

2014年工作中遇到的20個問題:141-160

來源:程序員人生   發布時間:2014-12-13 08:51:28 閱讀次數:3072次

141.日期轉換。

  //輸入的時間為毫秒的準確時間

  //firstTime:1417139867916,lastTime:1419731867916

  public static int getDayBetweenTwoDate(long firstTime, long lastTime){

      //當天的0點:1417104000000

 long firstCalendaStartTime = getTheDayStartTime(firstTime);

 //當天的0點:1419696000000

 long lastCalendaStartTime = getTheDayStartTime(lastTime);

 //0點相減結果為⑵592000000,轉int(1702967296),再除,致使結果不對

 int days = (int)(firstCalendaStartTime - lastCalendaStartTime) / 86400000;

 return days;//結果為⑴9

  }

  

  問題緣由:firstCalendaStartTime - lastCalendaStartTime 是比較大的負數,強迫轉換成int,變成了正數。

  應當是溢出或long強迫轉換成int致使的。

  

  

  不改變代碼結構,只調劑優先級,先履行 除法,再履行 強迫轉換:

   public static int getDayBetweenTwoDate(long firstTime, long lastTime){

 long firstCalendaStartTime = getTheDayStartTime(firstTime);

 long lastCalendaStartTime = getTheDayStartTime(lastTime);

 int days = (int)((firstCalendaStartTime - lastCalendaStartTime) / 86400000);

 return days;//⑶0 2014年11月28日履行,兩月相差確切是30天

  }

  

  這段代碼還有個“有歧義”的地方,通常betweenTwoDate應當返回正數,表明后面的比前面的大幾天。

  但,我們的代碼想實現的是,前面的時間是不是比后面的時間大,如果小于,就表明過期了。

  

  

   public static void main(String[] args) {

 Date now = new Date();

 Date d2 = DateUtil.addMonth(now, 1);

 System.out.println(now.toString());

 System.out.println(d2.toString());

 int days = DateUtil.getDayBetweenTwoDate(now.getTime(), d2.getTime());

 System.out.println(days);

  }

  

142.分類循環,都加上“編輯”事件。


可行方法1:只有1個地方使用el表達式,使用ready方法,頁面加載完成,再渲染

<#list categoryRows as category>

<!-- 循環進程中,js的變量相加‘"#cms_editor"+categoryId’不會生效,所有地方都直接使用${category.id}-->

<script type="text/javascript">

$(document).ready(

function(){

  var id=${category.id};

$("#cms_editor"+id).bind("click",function(){

$("#editor_name"+id).toggle();

$("#category_name"+id).toggle();

});

});

</script>

</#list>


可行方法2:每一個地方都直接使用el表達式

<#list categoryRows as category>

<script type="text/javascript">

$("#cms_editor${category.id}").bind("click",function(){

$("#editor_name${category.id}").toggle();

$("#category_name${category.id}").toggle();

});

</script>

</#list> 


不可行方法3:只有最后1個分類,綁定了事件

<#list categoryRows as category>


<script type="text/javascript">

  var id=${category.id};

$("#cms_editor"+id).bind("click",function(){

$("#editor_name"+id).toggle();

$("#category_name"+id).toggle();

});

</script>

</#list> 


注意事項:

先履行For循環,Freemarker模版渲染完成以后,返回前端Html,才可能履行js調用。

循環進程中,js的變量相加‘"#cms_editor"+categoryId’不會立即生效。



143. SpringMVC配置了異常處理器,通過實現HandlerExceptionResolver接口。


  //解決異常

public ModelAndView resolveException(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex) {

logger.error("error:", ex);

ModelAndView view = new ModelAndView(exceptionPage);

view.addObject("err", ex);

//ex.printStackTrace();

return view;

}

沒有在控制臺打印異常,錯在哪都不知道,略顯坑爹啊~



144.Tomcat中配置了404頁面。

<error-page>

    <error-code>500</error-code>

    <location>/error/500.html</location>

  </error-page>

  <error-page>

    <error-code>404</error-code>

    <location>/error/404.html</location>

  </error-page>

 訪問1個不存在的頁面,結果總是提示/error/404.html找不到。

 加上SpringMVC配置<mvc:default-servlet-handler/>,就行了。


145.修改SiteMesh的Decorator.xml配置文件,需要重啟利用服務器



146.URL辨別大小寫。

  http://localhost:8080/jsgame/flappypig/flappyPig.html

  URL中的字母辨別大小寫,最好統1成小寫。


147.Javascript嚴格模式。

var flappy = (function (self) {

    'use strict';

});

設立"嚴格模式"的目的,主要有以下幾個:

  - 消除Javascript語法的1些不公道、不嚴謹的地方,減少1些奇異行動;

  - 消除代碼運行的1些不安全的地方,保證代碼運行的安全;

  - 提高編譯器效力,增加運行速度;

  - 為未來新版本的Javascript做好鋪墊。

參考資料:http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html


148.數據庫表的字段不能是關鍵字,比如“key”。

CREATE TABLE `briefcms_setting` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `key` varchar(255) DEFAULT NULL COMMENT 'key是關鍵字',

  `value` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;


數據庫的字段名稱key,在寫update語句的時候,會報錯。

update briefcms_setting set value='' where key ='';


把key改成name就能夠了,太坑了。


149.Web服務器響應靜態要求。

線上配置Nginx代理。


本地開發配置Tomcat

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>/static/*</url-pattern>

</servlet-mapping>

SpringMVC的也加上,<mvc:default-servlet-handler/>


150.SpringMVC的Controller與Struts2的Action,單例Singleton與多例Prototype。

Struts接收參數,是在Action類定義1個字段,比如Person,接收參數,是類作用域的變量。如果是單例,會同享。

所以,必須配置@Prototype

SpringMVC接收參數,是在Controller的某個方法定義1個參數,比如Person,接收參數,是局部變量。


151.Mybatis的in查詢。

方法1:參數list是個集合

<select id="batchList" resultType="java.util.Map">

select * from p2p_loan_info where lid in

<foreach item="item" index="index" collection="list" open="(" separator="," close=")">  

     #{item.lid}  

 </foreach>  

</select>

方法2:參數idList是"a,b,c"這類格式

@Select("select count(*) from p2p_post where category_id in (#{idList}) and status= 0")

Integer getCountIn(String idList);

不可行的方法: category_id in #{idList},category_id in ${idList},idList是"(a,b,c)"。

#{}提示'' 字符串不對

${}提示,找不到變量的getter方法


152.dao和mapper在同1個目錄不需要???

<mapper class="com.p2p.user.dal.dao.IdCardDao"/>

<mapper resource="mybatis/IdCardInfoMapper.xml"/>

不需要在mybatis-config.xml引入,只配置Dao根據接口Mapper掃描就能夠了。

153. Java和Freemarker對“%”和“-”的支持不好。

Freemarker顯示變量,不支持“-”和“%”,params.like-lid或params.%lid不可以,貌似對"%"和“-”不能正常辨認。

<input type="text" class="i-inp" id="search_lid" name="params[like_lid]" 

<#if page.params.like_lid> value="${page.params.like_lid}" </#if> />

Java的變量定義,不能以“-”結尾,比如“like-”不行。

//可行

   String flagLike = "like_";

154.對第123個問題的修正。


   第123.Git Push毛病“Error writing request body to server”,解決方法可能會有問題。

   

   我是在“User Setting”中增加的配置,而不是在“System Setting”里。

   System Setting是不可寫的,提示配置文件“Unknown”。

   

   Boss也遇到了這個問題,他想通過設置“System Setting”,但是總是被謝絕,報NTFile相干的權限異常。

   在“User Setting”里設置,就Ok了。


155.Eclipse日志文件寄存在何處 。

  工程目錄,比如J:JavaWebfansunion.metadata.log


156.  日期比較between and不夠靈活。

where time between ${startDate} and ${endDate}

輸入的可能只有startDate或endDate.


  <if test="startDate != null">

       and time >= startDate 

     </if>

     

     <if test="endDate != null">

        and time &gt;= endDate

     </if>


157. Mybatis解決“大于等于號”的問題。

 &gt; 大于

 或使用 CDATA

<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>   

 

158.遇到2個很像的單詞,意思也類似。

totle:信息總數;資訊總數;全部;周遍

total:總計的(金額等); 全部的; 完全的; 絕對的

n.總計,總數; 全部數量

159.網上有HTML在線編輯器格式化功能,會把FTL的表達式,弄壞。

<#list list as item>


</#list>


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生

------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 国产精品二区三区 | 国产一级淫片a | 欧美日韩一区二区在线观看视频 | 一级片日韩 | 欧美亚洲国产一区二区三区 | 色悠久久久久综合欧美99 | 精品九九九 | 又粗又硬又黄又爽的免费视频 | 久久一区二区精品综合 | 美女网站在线观看视频免费的 | 男女精品视频 | xxxxx免费 | 欧美在线精品永久免费播放 | 另类 校园 春色 都市 亚洲 | 欧美a在线看 | 欧美成人 综合网播九公社 欧美成人18 | 国产精品亚洲欧美一级久久精品 | 亚洲女人的天堂 | 亚洲小说图片 | 正在播放国产露脸真实高清 | 亚洲高清日韩精品第一区 | 国产免费人人看大香伊 | 久久这里只有精品9 | 免费观看老外特级毛片 | 成年人在线观看视频网站 | 久久久久久久99精品免费 | 欧美添下面视频免费观看 | 午夜岛国| 欧美精品超清在线播放 | 国产一区二区日韩欧美在线 | 亚洲黄色小说视频 | 久久亚洲精品中文字幕二区 | 国产不卡一区 | 欧美性受xxxx白人性爽 | 最近更新中文字幕7 | 日本在线观看中文字幕 | 人操人视频 | 亚洲精品成人在线 | 美女啪视频 | 欧美一级高清片免费一级 | 欧美日韩国产一区二区三区欧 |