|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。js表单(Forms)是在网站交互的一个很一般的办法。JSP使表单处置加倍复杂。在JSP中处置表单的尺度办法是界说一个“bean”。这个“bean”不是一个完整的Javabean。你只需在界说一个类使它有个地区,这个地区跟表单中的每个地区绝对应。这个类地区必需有“setters”来婚配表单地区的名字。举个例子,让我们修正一下后面教程的GetName.html而且搜集Email地点和用户的岁数。详细代码修正以下:
<HTML>
<BODY>
<FORMMETHOD=POSTACTION="SaveName.jsp">
Whatsyourname?<INPUTTYPE=TEXTNAME=usernameSIZE=20><BR>
Whatsyoure-mailaddress?<INPUTTYPE=TEXTNAME=emailSIZE=20><BR>
Whatsyourage?<INPUTTYPE=TEXTNAME=ageSIZE=4>
<P><INPUTTYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
为了搜集数据,我们要界说一个Java类,使它有“username”、“email”、“age”的地区,而且我们要供应“setter”办法“setUsername”、“setEmail”和“setAge”。这个“setter”办法只是一个以“set”入手下手厥后是地区名的一种办法。地区名字的第一个字母要用年夜写的。以是假如地区为“email”,它的“setter”办法就为“setEmail”。一样的,“Getter”办法也相似界说,它只不外是用“get”来取代“set”罢了。而且要使得setters和getters必需为大众的(public)。比方:
publicclassUserData{
Stringusername;
Stringemail;
intage;
publicvoidsetUsername(Stringvalue)
{
username=value;
}
publicvoidsetEmail(Stringvalue)
{
email=value;
}
publicvoidsetAge(intvalue)
{
age=value;
}
publicStringgetUsername(){returnusername;}
publicStringgetEmail(){returnemail;}
publicintgetAge(){returnage;}
}
一旦你界说了这个类,再编译它,而且将它安排于收集服务器的类路径中。这个服务器一样要界说一个特别的目次来安排bean类。假如你是利用Blazix你能够将它们安排到“classes”目次中。假如你必需改动类路径而且服务器正在运转,那末收集服务器就必需中断偏重新启动。
上面我们来修正一下“SaveName.jsp”以利用bean来搜集数据:
<jsp:useBeanid="user"class="UserData"scope="session"/>
<jsp:setPropertyname="user"property="*"/>
<HTML>
<BODY>
<AHREF="NextPage.jsp">Continue</A>
</BODY>
</HTML>
这里一切我们必要作的事变是增添一个jsp:useBean标记和jsp:setProperty标记。这个useBean标记是在session中查找“UserData”的实例。假如实例被找到了,它就将更新旧的实例;假如实例没有被找到,它就将创立一个UserData新的实例(UserData的实例被称为bean),然后将它安排于session中。而setProperty标记会主动搜集输出的数据,并婚配bean办法的名字,在将数据安排于bean中。
上面修正NextPage.jsp以从bean掏出数据:
<jsp:useBeanid="user"class="UserData"scope="session"/>
<HTML>
<BODY>
Youentered<BR>
Name:<%=user.getUsername()%><BR>
Email:<%=user.getEmail()%><BR>
Age:<%=user.getAge()%><BR>
</BODY>
</HTML>
这里要注重useBean标签被反复利用了。这个bean是作为类“UserData”的变量的。由用户键进的数据都被搜集在bean中。我们能够不必要“SaveName.jsp”,“GetName.html”的方针就是“NextPage.jsp”,而且只需我们增添一个jsp:setProperty标记数据一样无效。鄙人一个教程中,我们要利用SaveName.jsp作为一个毛病处置并主动毗连到NextPage.jsp上,换句话说,它叫用户校订毛病的数据。
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 |
|