springMVC教程(八)controller中方法的返回值类型
2014-06-20 09:24
573 查看
controller中方法的返回值类型
springMvc中controller中方法的返回值除了可以返回String和ModelAndView两种类型外还有其他类型。
在这里上面用过的两种类型不再赘述。
其他类型还包括:void、ModelMap、Map、Object、map、List、Set。一般建议使用String。
1、void 返回值类型为void 则只是纯粹的执行了方法中的程序,然后响应的url依然为请求的url
例如案例中请求为index.do 则响应的url为 index 在视图解析器解析之后得到的最终的url为 /WEB-INF/jsp/index.jsp
示例:
//返回值为vood
@RequestMapping(value="/index.do",params="type=void")
publicvoid resultVoid(HttpServletRequest request){
request.setAttribute("void",
"resultVoid");
}
2、ModelMap 返回值为modelMap时,响应的url和void一致。
只是存储在MpdelMap中的数据可以在jsp页面中取出。
示例:
//返回值为ModelMap
@RequestMapping(value="index.do",params="type=modelMap")
public ModelMap resultModelMap(ModelMap map){
map.put("msg",
"这里是modleMap中的数据");
return map;
}
3、Map 和modelMap几乎完全一直。
示例:
//返回值为Map
@RequestMapping(value="index.do",params="type=map")
public
Map resultMap(){
Map<String,String> map =
new HashMap<String,String>();
map.put("msg",
"这里是Map中的数据");
return map;
}
4、List 返回list是响应的url和void一致。
只是spring会将list对象存储在request中,而该对象的存储的key为:当list中存储为String类型数据时 key为:stringList,当存储为User对象时 key为:userList。其他的类型的可以类比。
//返回值为List<String>
@RequestMapping(value="index.do",params="type=list_string")
public
List resultList_String(){
List ls = new
ArrayList();
ls.add("list1");ls.add("list2");ls.add("list3");
return ls;
}
//返回值为List<User>
@RequestMapping(value="index.do",params="type=list_user")
public List<User> resultList_User(){
List<User> ls = new ArrayList<User>();
ls.add(new User("张三"));
ls.add(new User("张四"));
return ls;
}
5、Set 返回Set类型的数据时和List除了没有顺序之外,其他都一直。
//返回值为Set<User>
@RequestMapping(value="index.do",params="type=set_user")
public Set<User> resultSet_User(){
Set<User> ls = new HashSet<User>();
ls.add(new User("张三"));
ls.add(new User("张四"));
return ls;
}
6、Object 返回object时,响应的url和以上一直,spirng也会将返回的对象存储在request中,该对象在request中的key为该对象类型的类名(首字母小写)
//返回值为User
@RequestMapping(value="index.do",params="type=user")
public User resultUser(){
returnnew User("张四");
}
所有的返回值类型页面获取方式为:
<h1>返回值类型</h1>
<p>
<h3>Void</h3>
<a
href="index.do?type=void">无返回值类型</a><br/>
${requestScope.void }
</p>
<p>
<h3>ModelMap</h3>
<a
href="index.do?type=modelMap">返回ModelMap</a><br/>
${requestScope.msg }
</p>
<p>
<h3>Map</h3>
<a
href="index.do?type=map">返回map</a><br/>
${requestScope.msg }
</p>
<p>
<h3>List</h3>
<a
href="index.do?type=list_string">返回List<String></a><br/>
${requestScope.stringList }
</p>
<p>
<h3>List</h3>
<a
href="index.do?type=list_user">返回List<User></a><br/>
${requestScope.userList }
</p>
<h3>Set</h3>
<a
href="index.do?type=set_user">返回Set<User></a><br/>
${requestScope.userSet }
</p>
<h3>User(Object)</h3>
<a
href="index.do?type=user">返回User(Object)</a><br/>
${requestScope.user }
</p>
springMvc中controller中方法的返回值除了可以返回String和ModelAndView两种类型外还有其他类型。
在这里上面用过的两种类型不再赘述。
其他类型还包括:void、ModelMap、Map、Object、map、List、Set。一般建议使用String。
1、void 返回值类型为void 则只是纯粹的执行了方法中的程序,然后响应的url依然为请求的url
例如案例中请求为index.do 则响应的url为 index 在视图解析器解析之后得到的最终的url为 /WEB-INF/jsp/index.jsp
示例:
//返回值为vood
@RequestMapping(value="/index.do",params="type=void")
publicvoid resultVoid(HttpServletRequest request){
request.setAttribute("void",
"resultVoid");
}
2、ModelMap 返回值为modelMap时,响应的url和void一致。
只是存储在MpdelMap中的数据可以在jsp页面中取出。
示例:
//返回值为ModelMap
@RequestMapping(value="index.do",params="type=modelMap")
public ModelMap resultModelMap(ModelMap map){
map.put("msg",
"这里是modleMap中的数据");
return map;
}
3、Map 和modelMap几乎完全一直。
示例:
//返回值为Map
@RequestMapping(value="index.do",params="type=map")
public
Map resultMap(){
Map<String,String> map =
new HashMap<String,String>();
map.put("msg",
"这里是Map中的数据");
return map;
}
4、List 返回list是响应的url和void一致。
只是spring会将list对象存储在request中,而该对象的存储的key为:当list中存储为String类型数据时 key为:stringList,当存储为User对象时 key为:userList。其他的类型的可以类比。
//返回值为List<String>
@RequestMapping(value="index.do",params="type=list_string")
public
List resultList_String(){
List ls = new
ArrayList();
ls.add("list1");ls.add("list2");ls.add("list3");
return ls;
}
//返回值为List<User>
@RequestMapping(value="index.do",params="type=list_user")
public List<User> resultList_User(){
List<User> ls = new ArrayList<User>();
ls.add(new User("张三"));
ls.add(new User("张四"));
return ls;
}
5、Set 返回Set类型的数据时和List除了没有顺序之外,其他都一直。
//返回值为Set<User>
@RequestMapping(value="index.do",params="type=set_user")
public Set<User> resultSet_User(){
Set<User> ls = new HashSet<User>();
ls.add(new User("张三"));
ls.add(new User("张四"));
return ls;
}
6、Object 返回object时,响应的url和以上一直,spirng也会将返回的对象存储在request中,该对象在request中的key为该对象类型的类名(首字母小写)
//返回值为User
@RequestMapping(value="index.do",params="type=user")
public User resultUser(){
returnnew User("张四");
}
所有的返回值类型页面获取方式为:
<h1>返回值类型</h1>
<p>
<h3>Void</h3>
<a
href="index.do?type=void">无返回值类型</a><br/>
${requestScope.void }
</p>
<p>
<h3>ModelMap</h3>
<a
href="index.do?type=modelMap">返回ModelMap</a><br/>
${requestScope.msg }
</p>
<p>
<h3>Map</h3>
<a
href="index.do?type=map">返回map</a><br/>
${requestScope.msg }
</p>
<p>
<h3>List</h3>
<a
href="index.do?type=list_string">返回List<String></a><br/>
${requestScope.stringList }
</p>
<p>
<h3>List</h3>
<a
href="index.do?type=list_user">返回List<User></a><br/>
${requestScope.userList }
</p>
<h3>Set</h3>
<a
href="index.do?type=set_user">返回Set<User></a><br/>
${requestScope.userSet }
</p>
<h3>User(Object)</h3>
<a
href="index.do?type=user">返回User(Object)</a><br/>
${requestScope.user }
</p>
相关文章推荐
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- SpringMVC中controller中方法返回类型为ResponseEntity<String>乱码的问题
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- springMVC对于controller处理方法返回值的可选类型
- SpringMVC中controller中方法返回类型为ResponseEntity<String>乱码的问题
- springMVC对于controller处理方法返回值的可选类型
- springMVC controller中方法的返回值类型
- SpringMVC——处理方法返回值的可选类型
- springMVC中controller的几种返回类型
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
- 详解springmvc之json数据交互controller方法返回值为简单类型
- springmvc之json数据交互controller方法返回值为简单类型
- SpringMVC返回字符串类型Date实现方法
- SpringMVC中Controller的方法返回值