From 3d0e4ee7d7592e9cb6461c8eee3cf0c1b15cfaa2 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Tue, 30 Jan 2018 09:01:19 +0800 Subject: [PATCH] --- src/org/redkale/net/http/HttpRender.java | 19 +++++++++++-------- src/org/redkale/net/http/HttpResponse.java | 4 ++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/org/redkale/net/http/HttpRender.java b/src/org/redkale/net/http/HttpRender.java index 0d1d417b8..3d4696c11 100644 --- a/src/org/redkale/net/http/HttpRender.java +++ b/src/org/redkale/net/http/HttpRender.java @@ -5,18 +5,21 @@ */ package org.redkale.net.http; +import org.redkale.convert.Convert; import org.redkale.util.AnyValue; /** * HTTP输出引擎的基类
* HttpRender主要是给HttpResponse.finish(Object obj)提供指定数据类型的输出策略。
- * HttpResponse.finish(Object obj)内置对如下数据类型进行了特殊处理:
- * CharSequence/String
- * byte[]
- * ByteBuffer
- * ByteBuffer[]
- * File
- * HttpResult
+ *
+ * HttpResponse.finish(Object obj)内置对如下数据类型进行了特殊处理:
+ *      CharSequence/String
+ *      byte[]
+ *      ByteBuffer
+ *      ByteBuffer[]
+ *      File
+ *      HttpResult
+ * 
*

* 如果对其他数据类型有特殊输出的需求,则需要自定义HttpRender。 *

@@ -30,7 +33,7 @@ public interface HttpRender { default void init(HttpContext context, AnyValue config) { } - public void renderTo(HttpRequest request, HttpResponse response, V scope); + public void renderTo(HttpRequest request, HttpResponse response, Convert convert, V scope); public Class getType(); } diff --git a/src/org/redkale/net/http/HttpResponse.java b/src/org/redkale/net/http/HttpResponse.java index 9a4bb7fc5..6612c9d8c 100644 --- a/src/org/redkale/net/http/HttpResponse.java +++ b/src/org/redkale/net/http/HttpResponse.java @@ -480,14 +480,14 @@ public class HttpResponse extends Response { if (hasRender) { if (onlyoneHttpRender != null) { if (onlyoneHttpRender.getType().isAssignableFrom(obj.getClass())) { - onlyoneHttpRender.renderTo(this.request, this, obj); + onlyoneHttpRender.renderTo(this.request, this, convert, obj); return; } } else { Class objt = obj.getClass(); for (HttpRender render : this.renders) { if (render.getType().isAssignableFrom(objt)) { - render.renderTo(this.request, this, obj); + render.renderTo(this.request, this, convert, obj); return; } }