今天在CSDN看见一个帖子:Java applet中的参数传递.
发现他犯了很多错误,applet中参数与html设置都不一样:而且html设置<param>的格式完全都错了。
<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>
Code
Code
发现他犯了很多错误,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, 10, 20);
21 g.drawString("my sex is :"+sex, 10, 40);
22 g.drawString("my num is :"+num, 10,60);
23 g.drawString("my age is :"+age, 10, 80);
24 }
25 }
26
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, 10, 20);
21 g.drawString("my sex is :"+sex, 10, 40);
22 g.drawString("my num is :"+num, 10,60);
23 g.drawString("my age is :"+age, 10, 80);
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后面的冒号:晕死了 太不小心了~
所以更改之后的正确代码如下:
正确的html代码如下: