Applet参数包含反斜杠。

时间:2011-07-28 14:31:44

标签: java parameters character-encoding applet

当我在启动applet的html页面中定义以下任一参数时:

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

applet.getParameter("testParam")方法将值返回为“test \\ test”。在我的逻辑中它应该返回“test \ test”。(对于value = test \ test然后方法返回“test \ test”)这怎么可能?它是与编码有关的东西还是java在输出时处理的东西。

3 个答案:

答案 0 :(得分:4)

Java 需要转义反斜杠。 HTML 不会

E.G。

/* <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

答案 1 :(得分:3)

您的字符串在html中定义,而不是在java中定义。在html中没有必要转义反斜杠因此为什么你得到“测试\测试”。如果需要使用一个斜杠,则使用一个斜杠定义字符串。

答案 2 :(得分:2)

无需在HTML中转义单个反斜杠。

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