jsp中寫java代碼成為scriptlet,寫在%%之間就可以了。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了桑珠孜免費建站歡迎大家使用!
Scriptlet是包含在%和%之間的Java代碼,在Web容器處理JSP頁面時執(zhí)行,通常會產(chǎn)生輸出,并將輸出發(fā)送到客戶的輸出流里。Scriptlet除了不能定義類和方法、不能用import引入類外,可以包含任何有效的Java代碼。(Java類在Jsp外部定義,可用page指令的import屬性引入,也可以Java Bean的形式使用。Java中的方法必須在類內(nèi)定義,但Jsp允許使用聲明定義方法。窗體(GUI)設(shè)計代碼在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的一個內(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
String C = "B";
Class D = Class.forName(C).getClass();
D.newInstance();
在JAVA中,類的名字一般不是用自己的名字來命名的,“B”是我們已知的名字,但JAVA虛擬機并不知道這樣的命名,也找不到你想要的類的位置,所以正確的改法是:
String C = "no.yes.flas.B" 也就是B類所在的包名+“.”+類的名字。你再試一試看看。
你拷下我的以下的代碼去運行就知道了:1:建一個Person類//定義一個Person類
public
class
Person
{
String
name="李三";
//定義一個name屬性,后面帶的值是無參構(gòu)造方法的默認(rèn)值,也可以不用進行初始化賦值
int
age=20;
//定義一個age屬性,,后面帶的值是無參構(gòu)造方法的默認(rèn)值,也可以不用進行初始化賦值 //這個無參構(gòu)造方法,你不寫也可以;
//系統(tǒng)默認(rèn)會創(chuàng)建一個無參的構(gòu)造方法的,即不用帶參數(shù)
public
Person(){
}
//這個有參的構(gòu)造方法,參數(shù)你可以自定義
//比如這個我?guī)Я怂械膮?shù)
public
Person(String
name,
int
age){
this.name=name;
this.age=age;
}
//這個有參的構(gòu)造方法,我?guī)Я薾ame屬性作為參數(shù)
public
Person(String
name){
this.name=name;
}
//這個有參的構(gòu)造方法,我?guī)Я薬ge屬性作為參數(shù)
public
Person(int
age){
this.age=age;
}
//自我介紹的方法
public
String
introduce(){
return
"大家好,我叫"+name+",今年"+age+"歲了";
}
public
String
introduceName(){
return
"大家好,我叫"+name;
}
public
String
introduceAge(){
return
"大家好,我"+"今年"+age+"歲了";
}}
2:建一個測試Person類的測試類: public
class
TestPerson
{ public
static
void
main(String[]
args)
{
//public
Person(){}
//這是Person類的無參構(gòu)造方法,不用帶參數(shù)
Person
per
=
new
Person();
//Person類中我們進行了初始化了
System.out.println(per.introduce());
//輸出信息
//public
Person(String
name,
int
age){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(name,age)
Person
perSon
=
new
Person("李力",20);
//輸入值
System.out.println(perSon.introduce());
//輸出信息
//public
Person(String
name){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(name)
Person
perName
=
new
Person("莉莉");
//輸入值
System.out.println(perName.introduceName());
//輸出信息
//public
Person(int
age){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(age)
Person
perAge
=
new
Person(20);
//輸入值
System.out.println(perAge.introduceAge());
//輸出信息
}}
按F11進行運行吧我里面寫很多注釋了,很容易看懂的,就這樣~~~望采納-_-=謝謝
//接口
public?interface?BankCard?{
public?void?norm();
}
//工商銀行實現(xiàn)類
public?class?ICBCBankCard?implements?BankCard?{
@Override
public?void?norm()?{
//?TODO?銀行規(guī)范
}
public?void?saveMoney(int?money){
//TODO?執(zhí)行存錢動作?
}
public?void?transfer(String?account,int?money){
//TODO?執(zhí)行轉(zhuǎn)賬?動作
}
}
//交通銀行實現(xiàn)類
public?class?CommunicationsBankCard?implements?BankCard?{
@Override
public?void?norm()?{
//?TODO?銀行規(guī)范
}
public?void?saveMoney(int?money){
//TODO?執(zhí)行存錢動作?
}
public?void?transfer(String?account,int?money){
//TODO?執(zhí)行轉(zhuǎn)賬?動作
}
}
上面的例子只是申明了通用的規(guī)范,如果想讓實現(xiàn)類都能實現(xiàn)存錢和轉(zhuǎn)賬功能,可以在接口里面聲明這兩個方法,寫一個通用的實現(xiàn)類,實現(xiàn)這些方法,然后具體的子類繼承該通用類,這樣可以直接繼承父類方法,如果不同的銀行具體實現(xiàn)不同,可以復(fù)寫父類中的兩個方法。
/*最普通的枚舉*/
public enum ColorSelect {
red, green, yellow, blue;
}
/*還可以有構(gòu)造方法*/
public enum Temp {
/*通過括號賦值,而且必須有帶參構(gòu)造器和一屬性跟方法,否則編譯出錯
* 賦值必須是都賦值或都不賦值,不能一部分賦值一部分不賦值
* 如果不賦值則不能寫構(gòu)造器,賦值編譯也出錯*/
absoluteZero(-459), freezing(32),boiling(212), paperBurns(451);
private final int value;
public int getValue() {
return value;
}
//構(gòu)造器默認(rèn)也只能是private, 從而保證構(gòu)造函數(shù)只能在內(nèi)部使用
Temp(int value) {
this.value = value;
}
}