com.blade.mvc.ui.ModelAndView - java examples

Here are the examples of the java api com.blade.mvc.ui.ModelAndView taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

6 Examples 7

19 View Complete Implementation : ViewBody.java
Copyright Apache License 2.0
Author : lets-blade
public static ViewBody of(ModelAndView modelAndView) {
    return new ViewBody(modelAndView);
}

19 View Complete Implementation : RouteContext.java
Copyright Apache License 2.0
Author : lets-blade
/**
 * Render view And Setting Data, can be modified after WebHook
 *
 * @param modelAndView ModelAndView object
 * @return RouteContext
 */
public RouteContext render(ModelAndView modelAndView) {
    this.response.render(modelAndView);
    return this;
}

18 View Complete Implementation : HttpResponse.java
Copyright Apache License 2.0
Author : lets-blade
@Override
public void render(@NonNull ModelAndView modelAndView) {
    this.body = new ViewBody(modelAndView);
}

18 View Complete Implementation : ViewBody.java
Copyright Apache License 2.0
Author : lets-blade
@Slf4j
public clreplaced ViewBody implements Body {

    private final ModelAndView modelAndView;

    public ViewBody(ModelAndView modelAndView) {
        this.modelAndView = modelAndView;
    }

    public static ViewBody of(ModelAndView modelAndView) {
        return new ViewBody(modelAndView);
    }

    public ModelAndView modelAndView() {
        return modelAndView;
    }

    @Override
    public FullHttpResponse write(BodyWriter writer) {
        return writer.onView(this);
    }
}

14 View Complete Implementation : DefaultExceptionHandler.java
Copyright Apache License 2.0
Author : lets-blade
protected void renderPage(Response response, ModelAndView modelAndView) {
    var sw = new StringWriter();
    try {
        WebContext.blade().templateEngine().render(modelAndView, sw);
        ByteBuf buffer = Unpooled.wrappedBuffer(sw.toString().getBytes("utf-8"));
        FullHttpResponse fullHttpResponse = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(response.statusCode()), buffer);
        response.body(new RawBody(fullHttpResponse));
    } catch (Exception e) {
        log.error("Render view error", e);
    }
}

5 View Complete Implementation : DefaultEngine.java
Copyright Apache License 2.0
Author : lets-blade
@Override
public void render(ModelAndView modelAndView, Writer writer) throws TemplateException {
    String view = modelAndView.getView();
    String body;
    String viewPath;
    if (Const.CLreplacedPATH.endsWith(PATH_SEPARATOR)) {
        viewPath = Const.CLreplacedPATH + TEMPLATE_PATH + PATH_SEPARATOR + view;
    } else {
        viewPath = Const.CLreplacedPATH + PATH_SEPARATOR + TEMPLATE_PATH + PATH_SEPARATOR + view;
    }
    try {
        if (view.startsWith("jar:")) {
            String jarPath = view.substring(4);
            InputStream input = DefaultEngine.clreplaced.getResourcereplacedtream(jarPath);
            BufferedReader reader = new BufferedReader(new InputStreamReader(input));
            body = IOKit.readToString(reader);
        } else {
            if (BladeKit.runtimeIsJAR()) {
                viewPath = PATH_SEPARATOR + TEMPLATE_PATH + PATH_SEPARATOR + view;
                InputStream in = getClreplaced().getResourcereplacedtream(viewPath);
                BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                body = IOKit.readToString(reader);
            } else {
                body = IOKit.readToString(viewPath);
            }
        }
        Request request = WebContext.request();
        Map<String, Object> attributes = new HashMap<>();
        Map<String, Object> reqAttrs = request.attributes();
        attributes.putAll(reqAttrs);
        attributes.putAll(modelAndView.getModel());
        Session session = request.session();
        if (null != session) {
            attributes.putAll(session.attributes());
        }
        String result = BladeTemplate.template(body, attributes).fmt();
        writer.write(result);
    } catch (Exception e) {
        log.warn("View path is: {}", viewPath);
        throw new TemplateException(e);
    } finally {
        IOKit.closeQuietly(writer);
    }
}