Jfinal中的render

2024-05-05 15:58
文章标签 render jfinal

本文主要是介绍Jfinal中的render,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jfinal中的render就是渲染的意思。

可以将运行的结果,渲染为网页送给brower,也可以渲染一些静态内容。


1.渲染的视图类型

(1)类型

①根据路径

根据路径就是说它们的参数都是renderXXX(String view)

这个view指出,访问该文件的具体内容。

这种类型有:Freemarker、Jsp、Velocity、Xml

其中前三种是配置的一种渲染方法,可以用来渲染各种格式,然后用view指出路径来。

②根据内容

根据内容就是,填写的参数不是表示某个文件的路径,

而是直接填写具体的内容,而Json也可以是一个json对象等多种方式。而File一般用于文件下载。

Text、Json、File、Html、JavaScript

③直接render

直接render默认就是使用RenderFreemarker

可以通过在JFinalConfig.configConstant(Constants constants) 配 置 中 的 constants.setViewType(ViewType)来设定。

④自定义render

比如:render(new XXXXRender())

这里就是要自己定义一个XXXX类,来进行自定义的渲染。然后新建一个类的实例。

比如对于IE这种不支持Ajax的,就可以自定义一个类来实现特定的功能。


(2)配置

像三大渲染类型这种freemarker、jsp、velocity都需要再导入对应的jar包,包的版本在jfinal-all里面都有。

如果使用了其中一种又没有导入jar包的话,直接上图。



居然不是classNotFound,总之坑爹。


2.渲染路径

前面提到freemarker、jsp、velocity、xml都是通过路径,来指定某文件render给客户端。

这里的路径有两种

(1)绝对路径

/aaa/bbb/ccc.html

这个最开始的/表示的是,webroot或者webapp这个web的根路径。

上面的语句就表示,webapp文件夹下面的aaa/bbb/ccc.html文件。

(2)相对路径

①BaseViewPath

在configConstant里面配置。

②routePath

在configRoute里面配置。

③randerPath

在具体render的时候配置。

假如我的配置是

①me.setBaseViewPath("/WEB-INF/fcl");

②me.add("/", com.TestController.class, "test");

③render("content.html");

那么最终,我要呈现的文件地址为/WEB-INF/fcl/test/content.html


3.绕过jfinal直接由servlet container呈现

凡是采用controller里面的action render出来的都是使用了jfinal的。

如果要跳过jfinal,可以在地址栏中直接敲入静态页面的地址。

格式为host/aaa/bbb/ccc.html

表示,host为主机地址,然后与上面是一致的。这个时候会通过servlet container直接访问html文件

我这里的servlet container是jetty,而且我没有它的jsp扩展包,所以当访问jsp文件的时候,会是如图


解决办法有两种:

①加载jetty的jsp jar包。不过这里我也不知道具体哪个版本的合适。因为jfinal的这个jetty是特殊定制的。

②不要越过jfinal,不要在地址栏里直接访问静态文件,而是采用jfinal的render来渲染这个页面。

这篇关于Jfinal中的render的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962081

相关文章

tiptap parseHTML renderHTML 使用

要在 Tiptap 中使用 parseHTML 和 renderHTML,可以通过创建自定义扩展来解析和渲染自定义的 HTML 元素。这两个方法允许你定义如何将 HTML 解析为 ProseMirror 文档节点以及如何将 ProseMirror 的文档节点渲染为 HTML。 1. parseHTML parseHTML 用于将 HTML 元素解析为 ProseMirror 节点。在自定义扩展

【JFinal】IDEA+maven上手JFinal之Hello World!

一、New Project 1、在 IDEA 环境下新建 Project 项目 2、选择创建 Maven 项目,并且不使用模板 3、输入 Maven 的 GroupId 和 ArtifactId 4、输入项目名称 二、将当前 Project 改为 POM 工程 将项目的 jfinal-web-demo 作为项目的 parent 工程,用于定义 maven 依赖包的版本信息、

“同学,vue的template是如何转为render函数的“

Vue 的 template 是如何一步步转换为渲染函数(render function)的过程涉及多个复杂的步骤。这个过程包括模板解析、AST 构建、优化和最终的渲染函数生成。以下是 Vue 中从 template 到 render 函数的详细转换步骤: 1. 模板编译概述 Vue 的模板编译过程分为以下几个主要步骤: 模板解析:将模板字符串转换为抽象语法树(AST)。 AST 优化:

Cannot read property 'render' of undefined

Cannot read property 'render' of undefined 報錯, 本地和debug環境訪問正常 進行了以下排查 先查看了其他業務 訪問正常 排除全局性錯誤 推斷應該是引入組件的問題 斷點查看各個步驟下scope 發現了某個組件缺少模塊導出   參考 https://stackoverflow.com/questions/51021348/cannot-set-pr

URP custompasscustom render objects

https://dbbh666.blog.csdn.net/article/details/141296728?spm=1001.2014.3001.5502 上一次 custom render pass的时候,直接是quad的渲染,如果想把任意对象绘制到FBO怎么写呢 参考这两个高手的文章,总结一下 https://www.bilibili.com/read/cv6735961/ https:

JFinal框架简单学习

介绍         JFinal是基于Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率! 特点 MVC架构,设计精巧,使用简单遵循COC原则,零配置,无xml功能齐全,拥有struts2的绝

JFinal Web开发学习(十一)编辑已发布文章

JFinal Web开发学习(十一)编辑已发布文章 代码: https://code.csdn.net/u012995856/jfinaltest/tree/master h-ui-admin使用iframe布局,左右两栏,点击左边链接,右边iframe中加载对应的页面. 点击博客列表中的标题, /admin/blogedit/blog_id 右侧iframe会加载对应id的博客内

JFinal Web开发学习(十)前后台显示博客列表

代码: https://code.csdn.net/u012995856/jfinaltest/tree/master 效果: 前台:使用jfinal自带分页,样式没有使用layui的分页,比较原生 后台:没有使用jfinal分页,使用list列表以及hui-admin自带的分页 1.写控制器 BlogController修改index方法,前台显示博客列表 //

JFinal Web开发学习(九)后台添加前台显示博客

代码: https://code.csdn.net/u012995856/jfinaltest/tree/master 效果: 发博客: 显示博客: 后台:使用hui-admin,文章编辑器是百度开源的ueditor 前台:使用layui前端框架 1.写控制器BlogController controller包中 package cn.pangpython.contr