简单/直接/Heredoc在Java中构造HTML字符串的方式
-
30-09-2019 - |
题
在Python中,我可以构造一个HTML字符串,而不必担心逃避特殊字符,例如<或“通过简单地将字符串封闭在三重引号中:
html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""
在Java中有类似的方法吗?
解决方案
它不能像在Python一样在Java中完成。但是,如果使用Eclipse,请转到窗口 - >首选项 - > java->编辑器 - >键入最后一个复选框是“粘贴到字符串文字中时的逃脱文本”。检查一下。现在,当您将光标粘贴在引号标记之间时,它将被逃脱。
其他提示
不,但是有些工具在您粘贴它时为您逃脱,就像Eclipse一样。
出于提到的目的, Java服务器页面 即使没有贸易 """
's :-)
在Java源代码中,Double Quote是一个特殊字符,用于声明字符串文字。如果不逃脱它,则不能在字符串字面上有双重报价。
总的来说,我会尽力避免在源代码中这样的硬编码字符串,尤其是如果我发现自己做了很多事情 - 正如您所指出的,它们很痛苦,很可能是来源的,它们很可能很可能要改变,在这种情况下,您可以在不进行重新编译的情况下进行。如果您不需要为文本数据提供运行时零件,则可以逃脱像从属性文件中读取数据一样简单的内容,也可以使用类似的模板引擎 Apache速度 为了使字符数据分开,并且在运行时仍可以替换变量 - 链接用户指南中的几个示例与HTML完全执行此操作。
回应本尼史密斯的窍门 类似的问题, ,您可以使用替代字符并之后替换它们:
String myString = "using `backticks` instead of quotes".replace('`', '"');
当我与JSON编写测试时,我发现它很有帮助
String json = "{`kind`:`file`,`sid`:802,`rid`:5678 ,`attrs`:{`name`:`FILE-WG-2468`}}".replace('`', '"');
// vs
String json = "{\"kind\":\"file\",\"sid\":802,\"rid\":5678 ,\"attrs\":{\"name\":\"FILE-WG-2468\"}}";
不隶属于 StackOverflow