(对于 Java 中的多行字符串,请参阅: Java multiline string 。考虑到 Web 应用程序和 HTML 输出上下文,下面的这个问题可能会产生不同的答案。)
有没有办法以 Java 代码的形式输入多行文本(存储 String
)而不对其进行格式化?
我想避免:
-
"..." +
每行的格式(需要在 Java 中换行文本) - 转义文本中包含的引号。
- 避免
\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/