请问jsp和javabean之间的参数是怎样传递的?(在线等待!!)
我是第一次接触Jsp,以前都是用PowerBuilder的,在学到JavaBean时,我有个问题想破了脑袋也想不出来,就是Jsp和JavaBean是如何传递参数的?如:我想做一个猜数字的程序,程序自动生成在1-100内的数,并根据用户的输入给出相应的提示是输入大了还是小了。javabean名称为numguess,我看例程在jsp中是这样写的:
<jsp:usebean id="numguess" class="num.numguess" scope="session"/>
<jsp:setproperty name="numguess" property="*"/>
(在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一点都不熟,谢谢了!
问题点数:20、回复次数:10Top
1 楼realyfly(^_^)回复于 2002-07-29 17:18:49 得分 0
<jsp:usebean id="numguess" class="num.numguess" scope="session"/>
<%
//取得用户输入的guess值,比如
String guess=request.getParameter("guess");
String str=numguess.guess(guess);
out.println(str);
%>
这样就可以了Top
2 楼goatherd7807(无边大梦)回复于 2002-07-29 17:28:46 得分 5
我想您可能对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是用户输入的数字(也是需要判断的数值)
希望您能理解!(我已经尽力了)Top
3 楼xpboy(蜗牛)回复于 2002-07-30 03:25:35 得分 5
(在jsp中并没有调用JavaBean中猜数函数guess()的语句)
我想会不会是这个原因,如果你客户端JSP文件中的参数名称是guess的话。
<jsp:setproperty name="numguess" property="*"/>的操作指令是用来设定numguess的属性值:name="numguess"是指定Bean的名称,property="*"是指定要设定这个Bean的所有属性(properties,即实例变量),如guess这个属性;当客户端传来一个request时,(按下“提交”按钮),JSP引擎会通过自我检查机制,检查这个JAVA类中包含哪些属性和函数,如果客户端需求中的参数名称和类中的属性名称相同的话(大小写要一致),则自动调用设定属性的函数,例如你javabean中guess(string guess),依次设定它的值。Top
4 楼dbetter(Better.net)回复于 2002-07-30 08:43:43 得分 0
谢谢你们的回答,虽然问题不可能一下子都解决,但现在确实好多了,我有了个大致的头绪,但还有些问题继续向你们请教。
1、像如果用户输入的有多个文本框(如姓名,年龄等),就是说用"submit"提交的数据可能有多个时怎么办?用"request.GetParameter()"是不是只能取到一个参数?还是可以同时取到传递过来的多个参数?如果是多个参数的话该如何识别每一个参数呢?
2、我用的开发工具是JBuilder(版本6.0),我感觉它的help部分做得太差了!我从网上下载后安装,一查差点晕倒,它竟然没有带help文件!我又分别去borland和sun的主页上东拼西凑地下载了一些jsp方面的帮助文件,但是感觉非常不方便的一点就是example太少了!我的英文水平还马马虎虎,以前学
PowerBuilder时几乎都是看着help来自学的,但现在Jsp这样叫我怎么学啊?能否根据你们的经验,给我发一个比较好的帮助文档或是告诉我一个相关网址我自己去下载(或是有什么好的建议也行)?
再一次感谢!Top
5 楼trier()回复于 2002-07-30 09:30:13 得分 10
无论页面上有多少文本框,下拉框,当页面submit时,都会对javaBean的相对应属性依次赋值,只是文本框的name和Bean中setXXX名称要完全一致,比如文本框name="age",那么要有setAge(String age){this.age=age;}//注意这时传进JavBean的age是字符串。
jsp有很多好书干吗要看什么jbuild帮助,况且写jsp用它并不方便呀。
推荐一本书:O'REILLY,中国电力出版社《jsp设计》Top
6 楼dbetter(Better.net)回复于 2002-07-30 09:59:32 得分 0
哦,原来是这样的啊!
是啊,我感觉用Jbuilder是太不方便了,最让人受不了的就是速度,我每次运行它之前都要把所有的其他应用程序先关掉,然后用内存整理工具给它至少整理出60%的内存才敢运行它,而且一般运行后内存就只剩5%以下了(我的机器是PIII966+128M),那开发Jsp一般用什么软件比较好呢?Top
7 楼Tomcat_lee()回复于 2002-07-30 10:12:12 得分 0
开发Jsp一般用什么软件比较好呢?
tomcat+apache+ultraEditTop
8 楼dbetter(Better.net)回复于 2002-07-30 10:49:00 得分 0
不是吧?UltraEdit?最少它没有自动完成功能啊,还有一些语法错误什么的能看得出来吗?好像感觉用UltraEdit开发软件的应该是大虾级别的人物了,没有专业一些的开发软件吗?Top
9 楼trier()回复于 2002-07-30 14:53:14 得分 0
我想还是应该用ultraEdit,搭建起环境,不就可以边写边调试了吗?
我们这里,整个项目都是用ultraEdit,还有很多人写EJB也用它。Top
10 楼dbetter(Better.net)回复于 2002-07-30 14:59:24 得分 0
哦,这样的啊,好,我试试,这个贴子就算结了,谢谢大家。
不好意思,这次没放多少分,下次给大家补上。Top




