Add BS and VT char escape sequences to JavaScriptUtils

Issue: SPR-9983
master
Rossen Stoyanchev 12 years ago
parent e4f1f682e2
commit 9982b4c01a
  1. 21
      spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2008 the original author or authors. * Copyright 2002-2013 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -21,21 +21,21 @@ package org.springframework.web.util;
* Escapes based on the JavaScript 1.5 recommendation. * Escapes based on the JavaScript 1.5 recommendation.
* *
* <p>Reference: * <p>Reference:
* <a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Literals#String_Literals"> * <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#String_literals">
* Core JavaScript 1.5 Guide * JavaScript Guide</a> on Mozilla Developer Network.
* </a>
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @author Rob Harrop * @author Rob Harrop
* @author Rossen Stoyanchev
* @since 1.1.1 * @since 1.1.1
*/ */
public class JavaScriptUtils { public class JavaScriptUtils {
/** /**
* Turn special characters into escaped characters conforming to JavaScript. * Turn JavaScript special characters into escaped characters.
* Handles complete character set defined in HTML 4.01 recommendation. *
* @param input the input string * @param input the input string
* @return the escaped string * @return the string with escaped characters
*/ */
public static String javaScriptEscape(String input) { public static String javaScriptEscape(String input) {
if (input == null) { if (input == null) {
@ -73,6 +73,13 @@ public class JavaScriptUtils {
else if (c == '\f') { else if (c == '\f') {
filtered.append("\\f"); filtered.append("\\f");
} }
else if (c == '\b') {
filtered.append("\\b");
}
// No '\v' in Java, use octal value for VT ascii char
else if (c == '\013') {
filtered.append("\\v");
}
else { else {
filtered.append(c); filtered.append(c);
} }

Loading…
Cancel
Save