今天在CSDN看见一个帖子:Java applet中的参数传递.
发现他犯了很多错误,applet中参数与html设置都不一样:而且html设置<param>的格式完全都错了。

原文为:

 1 import java.applet.*;
 2 import java.awt.*;
 3 public class Appletparam extends Applet
 4 {
 5 private String name;
 6 private String sex;
 7 private int num;
 8 private int age;
 9 public void init()
10 {
11 setBackground(Color.gray);
12 name=this.getParameter("myName:");
13 sex=this.getParameter("mySex");
14 num=Integer.parseInt(this.getParameter("myNum"));
15 age=Integer.parseInt(this.getParameter("myAge"));
16 }
17 public void paint(Graphics g)
18 {
19 g.setColor(Color.blue);
20 g.drawString("my name is :"+name, 1020);
21 g.drawString("my sex is :"+sex, 1040);
22 g.drawString("my num is :"+num, 10,60);
23 g.drawString("my age is :"+age, 1080);
24 }
25 
26 

 Html代码如下:

<html>
<body>
<Applet code="Appletparam.class" height=400 width=400>
<param name=myName value="kaka">
<param sex=mySex value="mail">
<param num=myNum value=200630170>
<param age=myAge value=22>
</Applet>
</body>
</html> 

 执行的错误为:
警告:<param name=... value=...> 标记需要名称属性。
警告:<param name=... value=...> 标记需要名称属性。
警告:<param name=... value=...> 标记需要名称属性。
java.lang.NumberFormatException: null
        at java.lang.Integer.parseInt(Integer.java:415)
        at java.lang.Integer.parseInt(Integer.java:497)
        at Appletparam.init(Appletparam.java:14)
        at sun.applet.AppletPanel.run(AppletPanel.java:424)
        at java.lang.Thread.run(Thread.java:619)
很显然,html中格式错误了.但是你仔细看之后发现:
name=this.getParameter("myName:");//myname后面的冒号:晕死了 太不小心了~

所以更改之后的正确代码如下:

Code

 正确的html代码如下:

Code