項目總結 - 2012/09/26

Hibernater

在DAO層中,hibernater自動生成的查詢往往滿足不了項目中的需求。所以這裏就會引用多表聯合查詢,查詢後需返回一個Map集合

以往舊的方式:

put.value('xxx',obj[0])....

這可以引用hibernate提供的setResultTransformer

例:

String sql = "select t.abc,t.cba,t.aaa from table t where ...";

List objList = this.getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();

這樣就可以返回一個帶對應字段objList。

 

JSP

1、EL表達式

爲了防止有的瀏覽器默認不適用EL表達式 最好加上這個

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

jstl是c標籤庫,EL表達式用來簡化對java對象的引用。

EL存取變量數據的方法很簡單,例如:${username}。它的意思是取出某一範圍中名稱爲username的變量。
因爲我們並沒有指定哪一個範圍的username,所以它會依序從Page、Request、Session、Application範圍查找。
假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳null

 

Jason

1、serializeArray() 方法

serializeArray() 方法通過序列化表單值來創建對象數組(名稱和值)。
您可以選擇一個或多個表單元素(比如 input 及/或 textarea),或者 form 元素本身。

引用:http://www.w3school.com.cn/jquery/ajax_serializearray.asp

 

2、JSON.stringify 函數 (JavaScript)
將 JavaScript 值轉換爲 JavaScript 對象表示法 (Json) 字符串。

 

Spring

 1、spring註解 -- (multi action controllers多控制器)

使用@controller定義controllers
Spring mvc將特定url的請求分發到controller類來進行處理
在spring 3.0中,通過@controller標註即可將class定義爲一個controller類。爲使spring能找到定義爲controller的bean,需要在spring-context配置文件中增加如下定義

<context:component-scan base-package="com.packageName" /> 


使用@RequestMapping標註來關聯url和controllers
  通過@RequestMapping標註,可以將特定的url和具體的controller類或controller類中的方法綁定。如

@Controller  
@RequestMapping("/helloworld")  
public class Helloworld {  
  
    @RequestMapping(method=RequestMethod.GET)  
    public ModelAndView hello() {  
        ModelAndView mv = new ModelAndView();  
        mv.setViewName("helloworld");  
        return mv;  
    }  
} 


將/hellowrold和 Hellowrold這個controller類綁定,而在hello()方法前的@RequestMapping(method=RequestMethod.GET)則將hello這個方法和/hellorworld.action的get請求綁定起來。

 

定義multiaction controllers
使用一個controller來處理多個action,稱爲multiaction controller。@RequestMapping標註並不要求一定放在class定義之前,而可以直接作爲一個method level的標註來使用,當這樣使用時,contorller類就變成了一個multiaction controller,例如
@Controller  
public class MultiactionHelloworld {  
  
    @RequestMapping("/hello1")  
    public ModelAndView hello1(){  
        ModelAndView mv = new ModelAndView();  
        mv.setViewName("helloworld");  
        return mv;        
    }  
      
    @RequestMapping("/hello2")  
    public ModelAndView hello2(){  
        ModelAndView mv = new ModelAndView();  
        mv.setViewName("helloworld");  
        return mv;        
    }  


這裏分別定義了兩個方法hello1和hello2,對應的url爲/hello1和/hello2

 

***Spring架構增強MultiActionController***

在使用Spring提供的控制器時,AbstractController和SimpleFormController是應用得最多的。AbstractController是最基本的Controller,可以給予用戶最大的靈活性。

 

原始的MultiActionController

MultiActionController把相關的業務方法集中在一個類中進行處理,減少控制類的數量。方便於系統的維護,可以重用相關的邏輯代碼,提高代碼的重用,同時也減少bean的配置。有太多的bean配置可以說是Spring 的一個暇疵。Spring提供IOC,讓我們靈活的控制bean的依賴。同時我們需要去維護太多的bean配置,Spring項目中很大程度上都在濫用xml 配置文件,這很不利於團隊開發和系統的後期維護。MultiActionController也不例外。

 

引用:

http://starscream.iteye.com/blog/1063966

http://www.51cto.com/specbook/223/36243.htm

 

SQL

case when then用法

select id,name,(case gender when '1' then '男' when '2' then '女' else '不詳' end) as 性別 from table

 


request.getContentLength() 此方法在後臺可以獲取附件的大小

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章