mint mvc的返回值

这里说的返回值是指action(方法)的返回值。action的可以返回任何类型的值。实际上,除了基础类型和一些特殊情况外,前端获得的输出就是action返回值的toString方法的结果。为了方便说明action的返回值,在此对返回类型进行如下分类:

  1. 基础类型和普通对象
  2. 模板渲染器
  3. JSON

基础类型和普通类

(这里采用“普通类”这个说法,主要为了和其余两种返回值分类的返回值做区别,并没有更多的含义)。

这种情况是最简单的。如果返回值是基础类型,那么返回结果就是返回值的字符串表现形式。如果返回值类型是对象,那么返回结果就是返回值得toString()方法的结果。

比如:

@Mapping(urls="/user")
public User String(){
	return new User();
}

返回值结果是这样的:

当然这种返回结果在实际开发中没啥用,哈。

模板渲染器

有时,一个请求希望返回一个页面,这时就需要action返回一个模板渲染器。模板渲染器一般包括两个要素:模板路径和渲染所需数据。模板路径是指页面模板(比如jsp,velocity模板等)的目录;渲染所需数据会被传递到模板里,供使用者操作。所有渲染数据都要放到一个Map对象中,把Map对象作为模板渲染器的构造参数,这样使用者就可以在模板内用Map对象的key 获取到对应的数据。

action:

@Mapping(urls="/user")
public TemplateRenderer user(){
	User user = new User();
	user.setUsername("琼羽");
	user.setPassword("1234");
	Map<String, Object> param = new HashMap<String, Object>();
	param.put("user", user);
	param.put("gender", "女");
	return new TemplateRenderer("/user.jsp", param);
}

模板:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<meta charset="UTF-8">
<table>
	<tr><td>username</td><td>${user.username }</td></tr>
	<tr><td>password</td><td>${user.password }</td></tr>
	<tr><td>gender</td><td>${gender }</td></tr>
</table>

访问结果:

JSON

如果一个action上添加了ReturnJson注解,那么该方法的返回将会被自动的被转化成json串,再返回到前端。mint mvc采用fast json作为数据转成字符串的工具。

action:

@ReturnJson
@Mapping(urls="/json")
public User json(){
	User user = new User();
	user.setUsername("琼羽");
	user.setPassword("123");
	
	return user;
}
访问结果:


到目前为止,系列博客已经讲解了mint mvc的:第一个应用,参数,和返回值。这些知识已经足够使用mint mvc写一个简单的应用了。接下来将会讲解拦截器功能,这是mint mvc最主要的进阶功能,暂时也是唯一的进阶功能。敬请期待!

本demo下载地址:http://git.oschina.net/895925636/mintdemo/tree/master

项目地址:http://git.oschina.net/895925636/mint-mvc

收录地址:http://www.oschina.net/p/mint-mvc

博客地址:http://www.wemakers.net/home/blog?cate=1001

(完)

转载于:https://my.oschina.net/cnlw/blog/324198

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值