Параметр апплета содержит обратную косую черту. - PullRequest
2 голосов
/ 28 июля 2011

Когда я определяю любой из параметров ниже на html-странице, которая запускает апплет:

<param name=testParam value=test\\test> 
<param name=testParam value='test\\test'>

applet.getParameter("testParam") метод возвращает значение как «тест \\ тест». По моей логике он должен возвращать «test \ test». (Для value = test \ test тогда метод возвращает «test \ test») Как это возможно? это что-то связанное с кодировкой или что-то, что обрабатывает Java, когда получает вывод

Ответы [ 3 ]

4 голосов
/ 28 июля 2011

Java требует экранирования от обратной косой черты. HTML не нет.

EG

/* <applet
    code='TestParam'
    width='200'
    height='30'>
<param name='path' value='test\test'>
</applet> */
import javax.swing.*;

public class TestParam extends JApplet {

    public void init() {
        JTextField output = new JTextField(getParameter("path"), 20);
        add(output);
        validate();
    }
}

Результат

Applet showing string

3 голосов
/ 28 июля 2011

Ваша строка определена в html, а не в java.В html нет необходимости избегать обратной косой черты, поэтому вы получаете «test \ test».Если вам нужно иметь одну косую черту, определите строку одной косой чертой.

2 голосов
/ 28 июля 2011

Нет необходимости экранировать ни одну обратную косую черту в HTML.

http://www.cs.tut.fi/~jkorpela/www/revsol.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...