自定义视图和自定义视图解析器
程序员文章站
2022-04-15 22:52:16
有的时候 SpringMVC 框架提供的视图解析器不能满足我们的需求,这时候我们可以来自定义视图以及视图解析器来完成定制的功能。 主要分为以下三步: 编写自定义视图实现类 编写视图解析器 在配置文件中将自定义的视图解析器注入ioc容器中 1、编写自定义视图实现类: 2、编写视图解析器: 3、在配置文 ......
有的时候 springmvc 框架提供的视图解析器不能满足我们的需求,这时候我们可以来自定义视图以及视图解析器来完成定制的功能。
主要分为以下三步:
- 编写自定义视图实现类
- 编写视图解析器
- 在配置文件中将自定义的视图解析器注入ioc容器中
1、编写自定义视图实现类:
import java.util.map; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.springframework.web.servlet.view; // 实现 view 接口才能让框架知道这是一个视图 public class myview implements view { @override public string getcontenttype() { return "text/html"; } @override public void render(map<string, ?> model, httpservletrequest request, httpservletresponse response) throws exception { // 编写渲染视图页面的业务逻辑 // 可以在这里取得 model 中保存的数据 // 可以使用 request 和 response 进行请求和响应 } }
2、编写视图解析器:
import java.util.locale; import org.springframework.core.ordered; import org.springframework.web.servlet.view; import org.springframework.web.servlet.viewresolver; // 实现 viewresolver 接口来让框架知道这是一个视图解析器,实现 ordered 接口来进行排序 public class myviewresolver implements viewresolver, ordered { // 视图解析器的遍历顺序 private integer order; @override public int getorder() { return order; } // 设置视图解析器的遍历顺序 public void setorder(integer order) { this.order = order; } @override public view resolveviewname(string viewname, locale locale) throws exception { // 进行视图解析器的业务逻辑,返回视图对象则进行渲染,若返回 null 则继续遍历下一个视图解析器 if (viewname.startswith("myview:")) { return new myview(); } return null; } }
3、在配置文件中将自定义的视图解析器注入ioc容器中:
<bean class="com.pudding.view.myviewresolver"> // order的值越小优先级越高,internalresourceviewresolver 的 order 值为 integer 的最大值。 <property name="order" value="1"></property> </bean>
上一篇: 打造更好用的 EF 自动审计
推荐阅读
-
NopCommerce架构分析之(六)自定义RazorViewEngine和WebViewPage
-
vue elementUI table 自定义表头和行合并的实例代码
-
Android自定义View圆形和拖动圆、跟随手指拖动效果
-
在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程和用户自定义函数(下部分)
-
在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)
-
ASP.NET MVC4入门教程(六):验证编辑方法和编辑视图
-
Android 自定义TextView去除paddingTop和paddingBottom
-
SQL Server自动备份存储过程和视图的方法
-
iOS自定义UIDatepicker日期选择器视图分享
-
WPF自定义控件和样式之自定义按钮(Button)