时间: 2021-07-31 作者:daque
jsp的一个要害个性即是不妨用javabean实行功效的扩充。将大局部功效放在javabean中实行,以使jsp页面步调更纯洁简略、利于保护。javabean不妨很简单的用来捕捉页面表单的输出并实行百般交易论理的处置。如次即是一个hello示例: testa.jsp页面: <%@ page contenttype="text/html;charset=gbk" %> <html> <head> <title>示例</title> </head> <body scroll=no> <form name="frma" method="post" action="testb.jsp" > <p> 你的全名: <input type="text" size="15" name="yourname" value="" id=yourname> <input type="button" align="center" name="subbtn" value="[提交]" onclick="f_check()" id=subbtn> </p> </form> </body> </html> <script language="javascript" type="text/javascript"> <!-- function f_check(){ if(document.forms(0).yourname.value==""){ alert("请输出全名"); }else{ document.forms(0).submit(); } } --> </script> testb.jsp页面 <%@ page contenttype="text/html;charset=gbk" %> <html> <head> <title>示例</title> </head> <jsp:usebean id="tbean" scope="page" class="bean.testbean" > <jsp:setproperty name="tbean" property="*" /> </jsp:usebean> <body scroll=no> <form name="frmb" method="post" action="" > <p> <%=tbean.hello()%> </p> </form> </body> </html> testbean.java 代码: package bean; public class testbean{ private string yourname = ""; public void setyourname(string yourname){ this.yourname = convertgbk(yourname); } public string hello(){ string strhello = "hello:"+yourname; return strhello; } //中国字变换本领 public string convertgbk(string str){ string strreturn=""; try{ strreturn=new string(str.getbytes("iso-8859-1"),"gbk"); }catch(exception ex){ system.out.println("testbean.convertgbk():ex="+ex.tostring()); } finally{ return strreturn; } } } testa.jsp页面上“提交”按钮将表单提交给testb.jsp页面,testb.jsp赢得的testa.jsp中yourname文本框的值并在范例化testbean后,实行bean中的setyourname本领,接着实行hello本领,在页面上输入对你问候的语句。 这个大略的示例展现了在jsp中运用javabean的两个要害上面,一个是捕捉表单的输出并生存,一个是实行论理功效。以是,依此两个功效还不妨将用在jsp中的javabean分为值bean(value bean)和东西bean (utility bean),如次: 值bean package bean; public class testvaluebean{ private string yourname = ""; public void setyourname(string yourname){ this.yourname = convertgbk(yourname); } //中国字变换本领 public string convertgbk(string str){ string strreturn=""; try{ strreturn=new string(str.getbytes("iso-8859-1"),"gbk"); }catch(exception ex){ system.out.println("testbean.convertgbk():ex="+ex.tostring()); } finally{ return strreturn; } } } 东西bean package bean; public class testutilitybean{ public string hello(testvaluebean tvbean){ string strhello = "hello:"+tvbean.getname(); return strhello; } public string hello(string yourname){ string strhello = "hello:"+yourname; return strhello; } } 固然,从这个例子看是没有需要划分value bean和utility bean的,但在具备搀杂交易论理的web运用步调中就不妨用value bean实行对表单输出的捕捉、生存,缩小对数据库中那些值简直静止的实业的考察,或将value bean放在确定效率域内使此效率域内的多个jsp页面共享。用utility bean实行操纵数据库、数据处置等交易论理,以value bean 或页面传播的值为参数。