在java中硬要寫jsp代碼也不是不可以,就是讓java的方法返回一個jsp代碼的字符串,不過復(fù)雜度很高,代價太大,99.99%的情況下不會這么做,如果想讓JSP頁面調(diào)用對象,事實上你可以直接在jsp頁面中new一個對象來使用。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比南川網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式南川網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋南川地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
jsp中寫java代碼成為scriptlet,寫在%%之間就可以了。
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
把代碼都嵌入到JSP里面是違反MVC設(shè)計準則的,這會讓你的代碼難維護,如果萬一出錯了,頁面上顯示的哪一行你都找不到(不是實際指出的那行,還要找編譯好的對應(yīng)的servlet)
讓上面代碼運行,把它改寫為一個類或Beanl就可以了,其實也就一分鐘的事兒,把main改成函數(shù),然后在jsp里面import它,new一個bean類,調(diào)用這個方法,很快,還好調(diào)試,何樂而不為呢?
其實還有更好的封裝方法,等你用了hibernate就知道了。
不知道你有沒有學(xué)習(xí)JavaBean,如果學(xué)習(xí)了就好理解:
在test.jsp頁面使用jsp:useBean標簽調(diào)用javabean
在test.jsp里使用get()方法就可以得到數(shù)據(jù)了
//下面是test.jsp
%@ page contentType="text/html;charset=GB2312"%
jsp:useBean id="test" class="test.Testjavajsp" scope="session"/
%
out.println("用戶名:"+test.getUsername());
%
//下面是Testjavajsp類
package test;
import java.sql.*;
public class Testjavajsp {
String username="";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Testjavajsp()
{
String sql="select * from userinfo where userID=1";
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/qquser";
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,"root","123456");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next())
{
username=rs.getString(1);
}
rs.close();
}catch(Exception e){
System.out.println("連接失敗");
}
}
}
希望對你有幫助
其實還有很多種方法可以
在jsp中使用java類舉例如下:
1.新建一個項目,在src文件夾下添加一個包:如:tianaoweb.com;
2.再在包中添加一個類:如
package com;
public class test {
public String sd(){
return "sd";
}
}
3.在默認的首頁index.jsp(當(dāng)然也可以自己新建一個jsp文件)的開頭引入
%@ page import= "tianaoweb.com.* "%
4.在body /body中添加相應(yīng)的java代碼片:
如:
%
String str;
test te=new test();
%
%=te.sd() %
文章標題:java類到j(luò)sp源代碼,jsp引入java代碼
鏈接URL:http://chinadenli.net/article28/hchdjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、商城網(wǎng)站、營銷型網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站策劃、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)