FastChar官网
FastChar官网 FastChar

FastOut是FastChar核心类之一,用作响应Response输出。默认提供的响应类型有:

类名说明示例(在FastAction中使用)代理
FastOutText
响应文本格式(text/plain)responseText("文本");允许
FastOutHtml响应网页格式(text/html)responseHtml("<h1>网页内容</h1>");允许
FastOutJson响应Json格式(application/json)responseJson("json数据");允许
FastOutFile响应File文件(application/octet-stream)responseFile(new File("文件路径"));允许
FastOutJsp响应JspresponseJsp("jsp路径");允许
FastOutXml响应Xml格式(text/xml)responseXml("<root>xml内容</root>");允许
FastOutFreemarker响应Freemarker模板responseFreemarker("模板路径");允许
FastOutVelocity响应Velocity模板responseVelocity("模板路径");允许
FastOutThymeleaf响应Thymeleaf模板responseThymeleaf("模板路径");允许
FastOutCaptcha响应验证码图片(image/jpeg)responseCaptcha();
允许
FastOutParamError
响应参数错误。IFastValidator验证器使用此类型响应responseParamError("参数名", "错误信息");
允许
FastOutStatus响应状态,例如404、500等responseStatus(404);允许
FastOutForward
转发请求forward("路径");允许
FastOutRedirect
重定向请求redirect("路径");允许

如果FastChar默认的响应类型无法满足业务需求,也可以自定义响应类型,如下自定义的FastOut:

public class TestOut extends FastOut<TestOut> {
/**
* 响应数据
* @param action
*/
@Override
public void response(FastAction action) throws Exception {
action.getResponse().getWriter().write(String.valueOf(data));
}
}

然后在FastAction使用response响应即可,如下代码:

public void test() {
response(new TestOut().setData("TestResponse"));
}

如果需要重写代理上述中任何一个FastOut,只要继承该类并注册到FastOverrides即可,也就是注册到代理器。