|
|
@ -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); |
|
|
|
} |
|
|
|
} |
|
|
|