腳本 JSP腳本就是用page指令language屬性指定的腳本語言編寫的代碼塊,需要用JSP完成的功能主要在此實(shí)現(xiàn)。目前用的基本是Java語言。 代碼塊里必須完全符合Java語法,但可以配合用HTML文本。其實(shí)不論是什么,都會被轉(zhuǎn)換為Servlet,在Servlet中它們是一樣的。 如:先輸出5個(gè)空行,再輸出"hello" 正確的:<% for(int i=0;i<5;i++)%> <br> <%;%> hello <br>錯(cuò)誤的:(一行br;一行hello)=============== <% for(int i=0;i<5;i++)%> <br> hello 錯(cuò)誤的等價(jià)于:<% for(int i=0;i<5;i++){%> <br> hello <%}%>
動作(<%jsp%>) jsp提供的動作指令有:include、forward、useBean、getProperty、setProperty
include 動作 jsp向當(dāng)前頁面加入另一文件的方法。 <jsp:include page="relativefileURL" flush="true"/>
forward動作 把當(dāng)前頁面重導(dǎo)到另一頁面上,客戶端看到的地址是A頁面的地址, 而實(shí)際內(nèi)容確是B頁面的內(nèi)容。 <jsp:forward page="relativefileURL| <%=expression%>}"/> 如: <body> here is aa. <jsp:forward page="aa.jsp" /> here is bb. </body> 注意:在使用forward之前,不能有任何內(nèi)容已經(jīng)輸出到客戶端,否則會發(fā)生例外。
useBean動作 此動作用來生成一個(gè)bean組件,并設(shè)定它的id號及使用范圍 <jsp:useBean id="beanName" scope="page|request|session|application|" class="package.class" type="package.class" beanName="{package.class|<%=expression%>}" type="package.class">action for bean </jsp:useBean> id="beanName":定義生成bean組件的名字,不能重名且scope的值也最好一樣,否則JSP引擎將認(rèn)定最先被創(chuàng)建的那個(gè)。 scope="page|request|session|application":定義bean的活動范圍,bean只有在它定義的范圍里才能使用, 在它的活動范圍外將無法訪問到它。 JSP為它設(shè)定的范圍有: page: bean的缺省使用范圍
request:作用于任何相同請求的JSP文件中,直到頁面執(zhí)行完畢向客戶端發(fā)回響應(yīng)或在此這之前已通過某種方式(如重定向、鏈接等方式)轉(zhuǎn)到另一個(gè)文件為止。還可通過使用Request對象訪問bean,如:request.getAttribute(beanName)
session:作用于整個(gè)session的生存周期內(nèi),在session的生存周期內(nèi),對此bean屬性的任何改動,都會影響到在此session內(nèi)的另一page、另一request里對此bean的調(diào)用。但必須在創(chuàng)建此bean的文件里事先用page指令指定了session=true。
application:作用于整個(gè)application的生存周期內(nèi),在application周期內(nèi),對此bean屬性的任何改動,都會影響到此application內(nèi)另一page、另一request以及另一session里對此bean的調(diào)用。 class="package.class":用class屬性指下的類示例一個(gè)bean,其中package名必須是類里用關(guān)鍵字package指定的。 type="package.class" class="package.class" type="package.class" beanName="{package.class|<%=expression%>}" type="package.class"
如:tt.jsp <jsp:useBean id="student" scope="page" class="mime.student" /> <%=student.getName()%><br> <% student.setName("wll"); %> //=====tt.jsp文件到此============
student.java //此處開始為student.java的內(nèi)容 package mine; public class student{ long classno; String name; int age; Boolean sex; public student(){ classno=12345; name="aaaa"; age=21; sex=true; } public long getClassno(){ return classno; } public void setClassno(long no){ this.classno=no; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public boolean getSex(){ return sex; } public void setSex(Boolean sex){ this.sex=sex; } }
出處:藍(lán)色理想
責(zé)任編輯:帥青蛙
上一頁 [JSP] 循序漸進(jìn)教程 [2] 下一頁 [JSP] 循序漸進(jìn)教程 [4]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|