日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SCM项目总结

發布時間:2024/8/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SCM项目总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目總遇到的bug總結:

1. 2017/7/15:在SupplierAction.java的deleteList方法中,沒有加注釋@RespopnseBody,導致返回數據不是json格式。$.ajax異步刪除執行了error方法. SupplierAction.java
@RequestMapping("/deleteList")@ResponseBodypublic Object deleteList(String[] pks) {System.out.println("---pks:" + pks);int i = 0;try {i = supplierService.deleteList(pks);} catch (Exception e) {e.printStackTrace();}//System.out.println("------"+i+"----------");return i;}supplierlist.jspiconCls : 'icon-remove',text : '刪除',handler : function() {//$("#dg").datagrid("getSelections")//獲取選中的記錄var array = $("#dg").datagrid("getSelections");//alert(array);//判斷是否選中if (array.length > 0) {//定義數組,通過下邊的用來存儲選中記錄的Idvar ids = new Array();for (i = 0; i < array.length; i++) {ids[i] = array[i].supId;//alert(ids[i]);}//alert("ids" + ids);//如果需要鎖整個頁面,前面加parent.parent.$.messager.confirm('刪除對話框', '您確認要刪除嗎?', function(r) {if (r) {$.ajax({url: "${proPath}/supplier/deleteList.action",type:"POST",//設置為傳統方式傳送參數traditional:true,data:{pks:ids},success: function(html){//重新刷新頁面$("#dg").datagrid("reload");//請除所有勾選的行$("#dg").datagrid("clearSelections");},error: function (XMLHttpRequest, textStatus, errorThrown) {$.messager.alert('刪除錯誤','請聯系管理員!','error');}dataType:'json'});}});} else {$.messager.show({title : '操作提示',msg : '請先選擇要刪除的記錄。',timeout : 4000,showType : 'slide'});}}


關于 springMVC為什么能自動把數據轉成json格式?

其實是<mvc:annotation-driven></mvc:annotation-driven>起作用 詳情看這篇博客:http://blog.csdn.net/zjkc050818/article/details/75187851

2017/7/17 今天去華辰實習,晚上回來有點時間,做做視頻里的項目。 主要就是在jsp頁面中顯示復合屬性。 即:供應商Supplier類中包含一個SysParam系統參數類,在jsp頁面中需要顯示SysParam中的某個屬性。 剛開始我是這樣寫的
{field : 'sysParam.sysParamText',title : '供應商類型',width : 100,}},然鵝,頁面中什么沒有顯示任何內容。 供應商類型無法顯示呢,我試著把jsp中代碼改成這樣:
{field : 'sysParam',title : '供應商類型',width : 100,},
界面中該字段就顯示為[Object Object]
后來google百度了好久,發現原來需要一個格式轉換器。 代碼改成以下的格式,就可以顯示了
{field : 'sysParam',title : '供應商類型',width : 100,formatter : function(value, row, index) {return row['sysParam']['sysParamText'];//return value.get(0);}}
2017/7/18 今天在實驗室繼續做項目 完成的模塊是:由于供應商的編號及其名字是經常用到的信息,所以想做一個優化:在數據庫中建立一個系統參數表Sys_Param表,用來記錄應用經常用到的一些參數。 因為這些參數經常使用,而經常訪問數據庫是非常浪費資源的,就想要用一個Map來存儲相關數據,然后把這個map放在ServletContext作用域中。 那么,很自然想到新建一個SysParamInitServlet,然后再servlet的init()方法中進行相關操作,且!在web.xml要設置<load-on-startup>3</load-on-startup> 然后再servlet利用@AutoWired注入 @Autowired private SysParamService sysParamService;就這樣問題出現了,系統在調用sysParamService的方法時報空指針異常
出錯原因:由于servlet是在容器初始化的時候也進行初始化,所以通過@Autowired注入會失敗(容器中這個bean可能還沒有初始化) 改成以下代碼問題解決:
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");SysParamService sysParamService=(SysParamService) ac.getBean("sysParamService");
2017/7/18 今晚主要做供應商修改的模塊
因為需要將數據庫中的數據顯示在form表單中,然后再對表單中的數據進行修改。 方法:將供應商的id寫在請求url后,即$("#formID").form('load','${proPath}/supplier/findById.action?supId='+selectedSup.supId); Action的方法入參是Supplier對象,正常情況下supId會自動注入到supplier對象中,但是從服務器端完全獲取不到數據,即使調用request來獲取,也是null。 原因是,在action的@RequestMapping注解需要附加參數method=RequestMethod.GET。具體代碼如下: @RequestMapping(value="/findById",method=RequestMethod.GET)@ResponseBodypublic Supplier findById(Supplier supplier) {System.out.println("find-----find---find----supId:" + supplier);try {supplier= supplierService.findById(supplier);} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e);} // return "forward:/jsp/main.jsp";return supplier;}
2017/7/26?前幾天比較忙,今天有點時間繼續做項目 今天做采購模塊,該模塊實現的功能是:在訂單頁面填相應的信息:訂單信息,商品信息。然后把這些數據持久化到相應的表中。 注意,業務層不僅僅只調用一個dao的insert方法,要把上面的信息插入到三張表中,所以必須進行相應的邏輯處理。 scm該模塊中,需要插入的表為:buy_order、buy_order_detail、account_records buy_order是form表單中的數據,由于其他兩張表中有依賴該張表,所以其他信息應該在buy_order表單提交時附帶,利用easyui中form表單的方法,如下所示:
//提交額外參數 $('#ff').form('submit', { url:..., onSubmit: function(param){ param.p1 = 'value1'; param.p2 = 'value2'; } }); 其他數據是放在datagrid中的,必須要轉成json格式,再方法上面的param參數中,實現方法如下:
//把datagrid所有行轉換成json格式 var data = $('#dg').datagrid('getData'); var rows = JSON.stringify(data.rows);if($("#ff").form('validate')){alert($("#ff").form('validate'));$('#ff').form('submit', {url : '${proPath}/buyorder/insert.action',onSubmit : function(param) {param.rows = rows;return true;},success : function(data) {//alert(data);} });這里有一個易錯點,就是涉及到日期的轉換。jsp提交的數據都是String格式,如果不進行String到Date的轉換,會報 Failed to convert from type?Java.lang.String to type java.util.Date for value

現數據庫有個字段在Entity中的類型是Date的,然后表單傳過來的數據時String類型的,這時就會出現這樣的問題,類型轉換錯誤!

  二、解決辦法

  要加一個@InitBinder,查了一下資料,貌似是用于初始化數據的時候,進行數據類型轉換,吧String類型轉為Date類型,這樣就不會報錯了。

[java]?view plaincopy print?
  • @InitBinder???
  • ????public?void?initBinder(WebDataBinder?binder)?{???
  • ????????DateFormat?dateFormat?=?new?SimpleDateFormat("yyyy-MM-dd");???
  • ????????dateFormat.setLenient(true);???
  • ????????binder.registerCustomEditor(Date.class,?new?CustomDateEditor(dateFormat,?true));???
  • ????}??

  • 這樣問題就解決了,這個要加在相關的Controller里面,然后利用注解自動裝配就OK了。。。。


    2017/7/26晚?在進行把數據持久化到數據庫的時候報錯,具體如下:
    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Parsing error was found in mapping #{shId),#{boDate}. Check syntax #{property|(expression), var1=value1, var2=value2, ...} at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
    還在解決中。。。。。。。。。。。。。。。。。。。 哈哈哈,花了一個小時終于找出錯誤,有點瞎 <insert id="insert" parameterType="buyOrder">insert into buy_order(bo_id,sup_id,sh_id,bo_date,bo_payable,bo_paid,bo_arrears,bo_original,bo_remark,bo_attn,bo_operator)values(#{boId},#{supId},#{shId),#{boDate},#{boPayable},#{boPaid},#{boArrears},#{boOriginal},#{boRemark},#{boAttn},#{boOperator})</insert>
    這是編寫的BuyOrderMapper.xml中間插入語句,仔細看,#{shId}右邊是圓括號!!!!!心情復雜


    總結

    以上是生活随笔為你收集整理的SCM项目总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。