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() 此方法在后台可以获取附件的大小