Simple/Direct/Heredoc способ создать строку HTML в Java

В Python я могу создать строку HTML, не волнуясь о выходе из специальных символов как <или "путем простого включения строки в тройные кавычки как:

html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""

Существует ли похожий способ сделать это в Java?

22
задан das_weezul 21 April 2010 в 08:07
поделиться

4 ответа

Это невозможно сделать на Java, как в Python. Однако, если вы используете Eclipse, перейдите в Window-> Preferences-> Java-> Editor-> Typing. Последний флажок - «Экранировать текст при вставке в строковый литерал». Проверь это. Теперь, когда вы вставляете, когда курсор находится между кавычками, он будет экранирован.

21
ответ дан 29 November 2019 в 05:33
поделиться

Для упомянутой цели Java Server Pages делают свое дело даже без триппа "" ": -)

1
ответ дан 29 November 2019 в 05:33
поделиться

Нет, но некоторые инструменты избавляются от него, когда вы вставляете его, например eclipse.

1
ответ дан 29 November 2019 в 05:33
поделиться

В исходном коде Java двойные кавычки - это специальный символ, используемый для объявления строковых литералов. Вы не можете использовать двойные кавычки в строковом литерале, не экранируя его.

В общем, я бы старался избегать таких жестко закодированных строк в исходном коде, особенно если бы я обнаружил, что делаю это много - как вы заметили, с ними трудно иметь дело как с источником, и они могут с большой вероятностью изменится, и в этом случае вы можете обойтись без перекомпиляции. Если вам не нужно предоставлять части времени выполнения для текстовых данных, вы можете уйти от чего-то столь же простого, как чтение данных из файла свойств, или вы можете использовать механизм шаблонов, такой как Apache Velocity , чтобы сохраняйте символьные данные отдельно и по-прежнему заменяйте переменные во время выполнения - некоторые из примеров в связанном руководстве пользователя делают именно это с HTML.

0
ответ дан 29 November 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: