Как удалить одинарные кавычки в Struts?

#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"/>');
  

Однако, как говорит Балуск, в первую очередь это должно быть сохранено правильно — рассмотрите возможность очистки ваших данных.