在java中硬要寫jsp代碼也不是不可以,就是讓java的方法返回一個(gè)jsp代碼的字符串,不過復(fù)雜度很高,代價(jià)太大,99.99%的情況下不會這么做,如果想讓JSP頁面調(diào)用對象,事實(shí)上你可以直接在jsp頁面中new一個(gè)對象來使用。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、洪雅網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為洪雅等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
body
% java小腳本(java程序) %
/body
不過在jsp頁面中嵌入 java小腳本已經(jīng)過時(shí)了,改用EL表達(dá)式了
因?yàn)閠omcat服務(wù)器,當(dāng)有請求訪問JSP資源時(shí),會將JSP頁面翻譯為java類,然后將整個(gè)java類進(jìn)行動態(tài)的編譯,編譯成class文件,然后執(zhí)行class文件,所以每個(gè)JSP在最終都會變成java類,所以能夠書寫Java代碼。
注意:只有JSP頁面被訪問時(shí),JSP頁面才會被翻譯成java文件,然后才會編譯成class文件,然后進(jìn)行加載執(zhí)行。而且翻譯只會翻譯一次,所以第一次請求相對較慢。因?yàn)閠omcat服務(wù)器,當(dāng)有請求訪問JSP資源時(shí),會將JSP頁面翻譯為java類,然后將整個(gè)java類進(jìn)行動態(tài)的編譯,編譯成class文件,然后執(zhí)行class文件,所以每個(gè)JSP在最終都會變成java類,所以能夠書寫Java代碼。
注意:只有JSP頁面被訪問時(shí),JSP頁面才會被翻譯成java文件,然后才會編譯成class文件,然后進(jìn)行加載執(zhí)行。而且翻譯只會翻譯一次,所以第一次請求相對較慢。
JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面,其根本是一個(gè)簡化的Servlet設(shè)計(jì),它[1] 是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件,后綴名為(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
jsp中寫java代碼成為scriptlet,寫在%%之間就可以了。
Scriptlet是包含在%和%之間的Java代碼,在Web容器處理JSP頁面時(shí)執(zhí)行,通常會產(chǎn)生輸出,并將輸出發(fā)送到客戶的輸出流里。Scriptlet除了不能定義類和方法、不能用import引入類外,可以包含任何有效的Java代碼。(Java類在Jsp外部定義,可用page指令的import屬性引入,也可以Java Bean的形式使用。Java中的方法必須在類內(nèi)定義,但Jsp允許使用聲明定義方法。窗體(GUI)設(shè)計(jì)代碼在Jsp中無效)。
Scriptlet例程:
%@ page contentType="text/html; charset=gb2312" %
html
head
titleJSP基本語法/title
/head
body
h1Scriptlet示例頁面/h1
table border="1"
caption乘法口訣表/caption
%-- 在網(wǎng)頁中嵌入Java代碼的主要方法 --%
%
for(int i=1; i=9; i++) {
int j=1;
//out是JSP的一個(gè)內(nèi)部對象,print方法用于向客戶端輸出數(shù)據(jù)
out.println("tr");
for(; j=i; j++) {
out.print("td" + j + "*" + i + "=" + j*i + "/td");
}
for(;j=9;j++) {
out.print("td /td");
}
out.println("/tr");
}
%
/table
/body
/html