java - 有没有办法以 Java 代码的形式输入多行文本(存储为字符串)而不对其进行格式化?

标签 java text formatting escaping code-formatting

(对于 Java 中的多行字符串,请参阅: Java multiline string 。考虑到 Web 应用程序和 HTML 输出上下文,下面的这个问题可能会产生不同的答案。)

有没有办法以 Java 代码的形式输入多行文本(存储 String )而不对其进行格式化?

我想避免:

  1. "..." +每行的格式(需要在 Java 中换行文本)
  2. 转义文本中包含的引号。
  3. 避免 \n每行的休息

这是一个 MVC Web 应用程序,它是我输出的 HTML 代码,到处都有一些变量。所讨论的字符串只要是表的一整行,其中每行都包含 id、key、value 等值。.jsp文件只有一个变量,其中包含由 Java 方法生成的所有这些行的最终输出。我对表单中的下拉框做了同样的事情,生成可能的选项,<option>...</option> ,但是用 Java 生成时该代码很小而且很紧凑。相比之下,我所停留的这些行又大又复杂。我希望输出的 HTML 可读。

可能不会,但不得不问。永远不知道你可能会错过什么。

最佳答案

我猜您问这个问题是因为您将在 Java 代码中保留一个非常大的字符串。这很糟糕。

代码和资源是不同的东西,不建议混合使用。 Java提供了多种方式来管理资源,可以使用Properties存储纯文本/HTML 资源,以及ResourceBundle存储本地化资源。

PS 你提到了变量 - 我希望你没有将它们连接起来?将诸如 foo=bar{0} 之类的内容放入资源包中,然后执行 String.format(bundle.getString("foo"), fooNum); 应该是首选方法.

编辑

关于包含整个 HTML 表的 Java 变量 - 这就是 JSP Custom Tags 的原因被发明, - 封装你奇怪的 HTML 生成逻辑。在 Tag Files 中使用 JSTL 实现 HTML 表生成逻辑这是可行的方法 - 您不需要编译任何东西。

关于java - 有没有办法以 Java 代码的形式输入多行文本(存储为字符串)而不对其进行格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488448/

相关文章:

java - 如何在 BadRequestException 中包含消息?

java - 迭代 Collection 或数组对象的常见方法

python - 将 PDF 转换为文本 - 保留表格行 - Python

php - 如何在表格中添加标题,以及如何在 php 中添加边框

java - 使用 simpleframework 构建了一个类 "TimetableData",它可以很好地保存为 xml,但是当我尝试在代码中读取它时,它会抛出 PersistenceException

java - 如何通过 Java HTTP 服务器发送图像

email - 如何使用 vim 撰写包含悬挂缩进的 format=flowed 电子邮件?

java - 格式化 float 并指定结果的宽度

php - 尝试在一百万行表的列中对相似的文本行进行分组 - 对非 MySQL 方法开放

text - 如何在给定宽度的小部件中移动文本