#javascript #jsp #struts2
#javascript #jsp #struts2
Вопрос:
Я передаю свойство Struts своей функции JavaScript следующим образом:
facemode('<s:property value="caseemailnumber" />');
Я получаю номер электронной почты как 'abc@gmail.com'
. Я хочу удалить одинарные кавычки. Как я могу это сделать?
Комментарии:
1. Вы хотите сказать, что
caseemailnumber
само свойство уже вернуло значение в одинарных кавычках и, следовательно, ваш сгенерированный вывод JS оказался недействительным какfacemode(''abc@gmail.com'')
? Ну, хм, вы могли бы просто убрать одиночные кавычки вокруг<s:property>
, но что эти одиночные кавычки делают в значении свойства в первую очередь? В противном случае, я действительно не понимаю, почему они должны быть удалены.2. Да, одинарные кавычки возвращаются из caseemailnumber. В firebug я могу видеть как facemode («abc@gmail.com «). Итак, он выдает ошибки. Должен ли я удалять одинарные кавычки со стороны клиента или я должен удалить их со стороны сервера.
3. Эти одинарные кавычки не входят в значение свойства в первую очередь. Вам нужно исправить способ сохранения свойства в bean или в DB.
4. Итак, я должен сделать это на стороне сервера. Есть ли какой-либо способ сделать, например, var email=(‘<s: значение свойства=»caseemailnumber» />’); email.replace(«‘»,»»)
5. Да, но вы не должны заменять их строками. Вы должны исправить код, который отвечает за вставку одинарных кавычек в значение свойства. Вы не должны обходить проблему, вы должны решить ее первопричину. Какой-то код на вашем сервере без необходимости добавляет эти одинарные кавычки к значению свойства.
Ответ №1:
Используйте replaceAll
метод String и обратную косую черту для символа '
, вот так:
facemode('<s:property value="caseemailnumber.replaceAll(''','')" />');
Сегодня я столкнулся почти с такой же проблемой, и это сводило меня с ума. Надеюсь, это поможет.
Ответ №2:
Используйте escapeJavaScript
атрибут тега:
facemode('<s:property value="caseemailnumber" escapeJavaScript="true"/>');
Однако, как говорит Балуск, в первую очередь это должно быть сохранено правильно — рассмотрите возможность очистки ваших данных.