Я знаю, что на это уже был дан ответ, но у меня есть другое возможное решение.
Если вы используете jquery, вы можете это сделать.
Сначала создайте пару расширений для jquery, поэтому вы можете повторно использовать их по мере необходимости.
$.extend({
bypassDefaultSubmit: function (formName, newSubmitMethod) {
$('#'+formName).submit(function (event) {
newSubmitMethod();
event.preventDefault();
}
}
});
Далее сделайте что-нибудь подобное, если вы хотите его использовать.
<script type="text/javascript">
/*if you want to validate the form on a submit call,
and you never want the form to be submitted via
a normal submit operation, or maybe you want handle it.
*/
$(function () {
$.bypassDefaultSubmit('form1', submit);
});
function submit(){
//do something, or nothing if you just want the validation
}
</script>
Вы должны использовать класс StringEscapeUtils
из Apache Commons Text (вы также можете найти этот класс в Apache Commons Lang3, но этот класс устарел). Вы обнаружите, что в Apache Commons есть множество других предложений, которые могут пригодиться для решения других проблем, возникающих у вас при разработке Java, так что вы не изобретаете колесо.
Конкретный вызов, который вы хотите, связан с "Java escape-"; вызов API - это StringEscapeUtils.escapeJava()
. Например:
System.out.println(StringEscapeUtils.escapeJava("Hello\r\n\tW\"o\"rld\n")
напечатает:
Hello\r\n\tW\"o\"rld\n
В этой библиотеке также есть множество других экранирующих утилит. Вы можете найти Apache Commons Text в Maven Central и добавить его в свой проект Maven следующим образом:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.3</version>
</dependency>
, а в случае использования Gradle:
compile "org.apache.commons:commons-text:1.3"
Использование:
\\n
и \\t
Некоторые символы, перед которыми стоит обратная косая черта (\
), образуют escape-последовательность и имеют особое значение для компилятора. Так что в вашем случае \n
и \t
обрабатываются как специальные (перевод строки и табуляция соответственно). Таким образом, мы должны избежать обратной косой черты, чтобы n
и t
рассматривались буквально.
Учитывая String s
,
s = s.replace("\\", "\\\\");
Заменяет все \
на \\
.
StringEscapeUtils подходит для операций, связанных со строками