В моем проекте из UI я передаю строку на сервер, например account<s
, используя метод HTTP post. Это значение извлекается во бэкэнд с использованием метода HTTPServlet request.getParameter()
. GetParameter() возвращает закодированную строку. Значение account<s
выбирается как account& lt;s
request.getParameter() возвращает поврежденные данные - Java
Сейчас в UI Мне нужно отобразить account<s
. Если значение закодировано как account<s
, то я могу использовать html-декодирование в части пользовательского интерфейса. Но закодированная строка имеет дополнительное пространство. Вместо <
, я получаю & lt;
.
JQuery Код:
var params = {};
params.passVal = "account<s";
//ajax call
$.ajax({
type:"POST",
url:url,
data:params,
datatype:"json",
async:false
}).success(function(json){
//success notification
});
Java код:
String receivedVal = request.getParameter("passVal"); //account& lt;s
Я использую Apache Tomcat 7 и JQuery v2.1.3
Для всех закодированных персонажей, между 1-м и 2-м символами добавляется пространство. Почему это так? И как я могу получить исходные данные на Java?
Хм. 'request.getParameter()' довольно надежный. Вы уверены, что правильно отправили параметр? Это из формы браузера? Или какой-то клиентский код? – Thilo
Параметр передается из формы браузера. И я проверил значение, которое передается в пользовательском интерфейсе, и это 'account
можете отправить код? например 'HTML' и java' servlet' – emotionlessbananas