当前位置: 技术问答>java相关
请问jsp和javabean之间的参数是怎样传递的?(在线等待!!)
来源: 互联网 发布时间:2015-07-26
本文导语: 我是第一次接触Jsp,以前都是用PowerBuilder的,在学到JavaBean时,我有个问题想破了脑袋也想不出来,就是Jsp和JavaBean是如何传递参数的?如:我想做一个猜数字的程序,程序自动生成在1-100内的数,并根据用户的输入给...
我是第一次接触Jsp,以前都是用PowerBuilder的,在学到JavaBean时,我有个问题想破了脑袋也想不出来,就是Jsp和JavaBean是如何传递参数的?如:我想做一个猜数字的程序,程序自动生成在1-100内的数,并根据用户的输入给出相应的提示是输入大了还是小了。javabean名称为numguess,我看例程在jsp中是这样写的:
(在jsp中并没有调用JavaBean中猜数函数guess()的语句)
在JavaBean中的相应猜数函数是这样的
...
int answer
...
public void guess(string guess)
{
int g;
g=Integer.parseInt(guess);
if (g==answer){...返回用户输入正确的相关语句}
if (g!=answer){...作出相应判断并返回相应提示}
...
}
有些语句我省略了,我这里最不清楚的就是JavaBean中是如何知道这个guess就是用户输入的那个数的?在jsp中并没有相应的语句调用,而且,用户输入的数值是如何传递给JavaBean中的这个函数的呢?难道JavaBean自动会知道这是个猜数函数?
能否请您在回答时稍微写浅显、详细一点,我对Jsp一点都不熟,谢谢了!
(在jsp中并没有调用JavaBean中猜数函数guess()的语句)
在JavaBean中的相应猜数函数是这样的
...
int answer
...
public void guess(string guess)
{
int g;
g=Integer.parseInt(guess);
if (g==answer){...返回用户输入正确的相关语句}
if (g!=answer){...作出相应判断并返回相应提示}
...
}
有些语句我省略了,我这里最不清楚的就是JavaBean中是如何知道这个guess就是用户输入的那个数的?在jsp中并没有相应的语句调用,而且,用户输入的数值是如何传递给JavaBean中的这个函数的呢?难道JavaBean自动会知道这是个猜数函数?
能否请您在回答时稍微写浅显、详细一点,我对Jsp一点都不熟,谢谢了!
|
无论页面上有多少文本框,下拉框,当页面submit时,都会对javaBean的相对应属性依次赋值,只是文本框的name和Bean中setXXX名称要完全一致,比如文本框name="age",那么要有setAge(String age){this.age=age;}//注意这时传进JavBean的age是字符串。
jsp有很多好书干吗要看什么jbuild帮助,况且写jsp用它并不方便呀。
推荐一本书:O'REILLY,中国电力出版社《jsp设计》
jsp有很多好书干吗要看什么jbuild帮助,况且写jsp用它并不方便呀。
推荐一本书:O'REILLY,中国电力出版社《jsp设计》
|
我想您可能对jsp与javaBean的关系好象有点弄反了!
javaBean中有这样一个用来判断是否是数字的guess方法。Jsp中是这样用的(请您看您自己的代码):
1、Jsp获得用户输入的数字:Sting a=request.getParameter("数字");//可能还要对String做一个int的转换
2、调用javaBean的guess方法确定是否正确:numguess.guess(a);
//numguess是javaBean的id!
//guess是该javaBean的方法;
//a是用户输入的数字(也是需要判断的数值)
希望您能理解!(我已经尽力了)
javaBean中有这样一个用来判断是否是数字的guess方法。Jsp中是这样用的(请您看您自己的代码):
1、Jsp获得用户输入的数字:Sting a=request.getParameter("数字");//可能还要对String做一个int的转换
2、调用javaBean的guess方法确定是否正确:numguess.guess(a);
//numguess是javaBean的id!
//guess是该javaBean的方法;
//a是用户输入的数字(也是需要判断的数值)
希望您能理解!(我已经尽力了)
|
(在jsp中并没有调用JavaBean中猜数函数guess()的语句)
我想会不会是这个原因,如果你客户端JSP文件中的参数名称是guess的话。
的操作指令是用来设定numguess的属性值:name="numguess"是指定Bean的名称,property="*"是指定要设定这个Bean的所有属性(properties,即实例变量),如guess这个属性;当客户端传来一个request时,(按下“提交”按钮),JSP引擎会通过自我检查机制,检查这个JAVA类中包含哪些属性和函数,如果客户端需求中的参数名称和类中的属性名称相同的话(大小写要一致),则自动调用设定属性的函数,例如你javabean中guess(string guess),依次设定它的值。
我想会不会是这个原因,如果你客户端JSP文件中的参数名称是guess的话。
的操作指令是用来设定numguess的属性值:name="numguess"是指定Bean的名称,property="*"是指定要设定这个Bean的所有属性(properties,即实例变量),如guess这个属性;当客户端传来一个request时,(按下“提交”按钮),JSP引擎会通过自我检查机制,检查这个JAVA类中包含哪些属性和函数,如果客户端需求中的参数名称和类中的属性名称相同的话(大小写要一致),则自动调用设定属性的函数,例如你javabean中guess(string guess),依次设定它的值。