当我在启动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在输出时处理的东西。
答案 0 :(得分:4)
Java 需要转义反斜杠。 HTML 不会。
/* <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();
}
}
答案 1 :(得分:3)
您的字符串在html中定义,而不是在java中定义。在html中没有必要转义反斜杠因此为什么你得到“测试\测试”。如果需要使用一个斜杠,则使用一个斜杠定义字符串。
答案 2 :(得分:2)
无需在HTML中转义单个反斜杠。