我在项目中使用WMD降价编辑器来处理大量字段,这些字段对应于大量Entity类中的大量属性.一些类可能具有多个需要降价的属性.

我存储markdown本身,因为这样可以使以后更轻松地编辑字段.但是,我需要将属性转换为HTML,以便以后显示.问题是:是否可以使用某种模式来避免在所有实体类中编写降价转换代码?

我用一个接受markdown字符串并返回HTML的方法创建了一个实用程序类.我正在使用markdownj,并且工作正常.

问题在于存储降价的每个类的每个属性,我可能需要另一个转换为HTML的方法:

public class Course{

private String description;

.

.

.

public String getDescription(){

return description;

}

public String getDescriptionAsHTML(){

return MarkdownUtil.convert(getDescription());

}

.

.

.

}

问题在于,如果Course类具有另外2个Tuition和Prerequisites属性,它们都需要转换器,那么我将不得不编写getTuitionAsHTML()和getPrerequisiteAsHTML().

我觉得这有点丑陋,想要一个更清洁的解决方案.需要此功能的类不属于单个继承层次结构.

我正在考虑的另一个选项是在控制器而不是模型中执行此操作.您对此有何想法?

谢谢.

[编辑]:新想法(谢谢贾斯珀).由于项目使用struts2(我之前没有说过),所以我可以创建一个视图组件,说它将为我转换降价.然后,在需要将值显示为HTML的任何地方使用它.

java将一个类到多个类,java-设计模式,将转换应用于多个类中的多个...相关推荐

  1. Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类

    Java使用ftl模板文件生成Word 一.写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊. https://blog.cs ...

  2. Java将一个堆栈进行反转,如何使用Java中的堆栈反转数组的元素?

    堆栈是一种抽象数据类型(ADT),通常在大多数编程语言中使用.它被称为堆栈,因为它的行为类似于现实世界中的堆栈,例如,一副纸牌或一堆盘子等. 堆栈是先进先出的,它具有两个主要操作push和pop.Pu ...

  3. Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。...

      Java语言程序设计 上机实验2 实验目的: 掌握Java的基本语言成分和流程控制语句. 掌握Java中数组的使用,理解引用数据类型. 掌握String类的使用. 实验内容: 注:标(*)为选做内 ...

  4. 4.File类、Lambda表达式、JAVA IO

    一.File类 File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径),使用File可以做到: 1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间 ...

  5. JAVA基础(三)——服务器操作系统、Java开发环境、Java技术架构、定义Java类及其命名规范、Java注释方式

    1. 服务器操作系统 当前主流的服务器操作系统则主要分为:Windowsserver.UNIX.Linux.NetWare这四大阵容. (1)Windowsserver作为推广的最好,用户群体最大的服 ...

  6. java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类

    是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...

  7. java string改变的影响_为什么Java的string类要设成immutable(不可变的)

    最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类 ...

  8. Java中创建线程需要使用的类_如何通过使用Java中的匿名类创建线程?

    甲线程是可以同时与该程序的其他部分被执行的功能.所有Java程序都有至少一个称为主线程的线程,该线程由Java虚拟机(JVM)在程序启动时由主线程调用main()方法创建. 在Java中,我们可以通过 ...

  9. 【Java系列】从JVM角度解析Java核心类String的不可变特性

    凯伦说,公众号ID: KailunTalk,努力写出最优质的技术文章,欢迎关注探讨. 1. 前言 最近看到几个有趣的关于Java核心类String的问题. String类是如何实现其不可变的特性的,设 ...

  10. java 内部类 加载_举例讲解Java的内部类与类的加载器

    内部类 class A { //Inner1 要在 A 初始化后 才能使用,即要被A的对象所调用 class Inner1 { int k = 0; // static int j = 0; //A加 ...

最新文章

  1. 物联网无线数传通信模块:工业级高精度电源模块
  2. 如何用Vue实现简易的富文本编辑器,并支持Markdown语法
  3. 如何打造一款极速数据湖分析引擎
  4. php mysql 继承,重用MySQL连接PHP对象继承
  5. Facebook广告兴趣定位终极指南经验分享
  6. 13.2 Question Answering 问答系统意境级讲解
  7. 数字图像处理-绪论 (上)
  8. Bootstrap从入门到精通(全)
  9. matplotlib:plot 3d ,plot_surface
  10. “白嫖”时代进入最后倒计时,网盘行业到底是怎么由盛及衰的?
  11. c++ json::value
  12. Win10 DISM 清理 C盘的 WinSXS 文件夹
  13. 视频滚动字幕怎么批量添加
  14. 密码学系列之九:密钥管理
  15. Linux关闭/禁用触摸屏,deepin关闭/禁用触摸屏方法
  16. 知乎liv笔记08 买车之后:如何保养不花冤枉钱?
  17. 组件封装 - 骨架屏组件
  18. OCR学习之一:OCR简介
  19. halocn标定找旋转中心_一种利用旋转中心进行手眼标定的原理性介绍
  20. 聚类算法——python实现SOM算法

热门文章

  1. 1一10到时的英文单词_10张“牛皮癣”可换1个鸡蛋!徐州一街道全民总动员
  2. 对于计算机系统结构 下列,计算机系统结构模拟试题
  3. 区域显示触发_Unity3D 在Hierarchy窗口中显示物体所属Layer
  4. 皮一皮:现在想上个节目一定要注明这些...
  5. 儿童版「微信」要来了?
  6. 皮一皮:经历过的举手报道...
  7. 百度网盘的速度又又又又又又被黑了...侮辱性极强...
  8. Java延迟加载的最佳实践应用示例!
  9. 来深入了解一下 Eureka 的工作机制及相关原理
  10. 面试:说说Java 中堆和栈的区别?