您的位置:首页 > 编程语言 > Java开发

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc spring springmvc web 框架