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");
* 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.
*
* <p>Reference:
* <a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Literals#String_Literals">
* Core JavaScript 1.5 Guide
* </a>
* <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#String_literals">
* JavaScript Guide</a> on Mozilla Developer Network.
*
* @author Juergen Hoeller
* @author Rob Harrop
* @author Rossen Stoyanchev
* @since 1.1.1
*/
public class JavaScriptUtils {
/**
* Turn special characters into escaped characters conforming to JavaScript.
* Handles complete character set defined in HTML 4.01 recommendation.
* Turn JavaScript special characters into escaped characters.
*
* @param input the input string
* @return the escaped string
* @return the string with escaped characters
*/
public static String javaScriptEscape(String input) {
if (input == null) {
@ -73,6 +73,13 @@ public class JavaScriptUtils {
else if (c == '\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 {
filtered.append(c);
}

Loading…
Cancel
Save