jsp我們知道怎么寫了,java我們也會了,現在我們需要從jsp里怎么讀取我java里寫的函數呢?
這一個過程專業述語叫做:JavaBean
一、 編寫java函數
1. 這個java函數跟普通的函數有那一點點的區別,他是需要添加一個包,在jsp里調用是通過包來找到你要調用的函數。
下面我們編寫一個簡單得再簡單不過的小函數,設置一個字符串,返回一個字符串。
package test; //package 必須要有,要不jsp要調用那一個包下的類 public class HelloWorld {
public String saySomething; public HelloWorld(){ saySomething = "hello!"; }
//修改saySomething的值 public void setSaySomething(String saySomething){ this.saySomething = saySomething; }
//獲取saySomething的值
public String getSaySomething(){ return saySomething; } }
保存為 HelloWorld.java,把編譯出HelloWorld.class拷貝到:apache-tomcat-7.0.27\webapps\ROOT\WEB-INF\classes\test\目錄下
好像必須得放到classes目錄下,test(跟package包名相同),HelloWorld.java(跟類名相同)
2. 編寫jsp頁面調用
<!--需要顯示中文,所以把編碼改成gb2312-->
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>你好 JSP Page.</title> </head> <body> <font size="10">
<!--id 就像我們在調用類的時候創建一個對像,同等於: test.HelloWorld say = new test.HelloWorld();--> <jsp:useBean id="say" class="test.HelloWorld" scope="page" /> <% String somethingToSay = ""; somethingToSay = say.getSaySomething(); out.println(somethingToSay); //輸出默認值:hello! %> </br> <% say.setSaySomething("my name is cqf!");//改變值 somethingToSay =say.getSaySomething();//重新獲取 out.println(somethingToSay);//輸出為:my name is cqf!
%>
</font>
</body>
</html>
把jsp頁面保存到:\apache-tomcat-7.0.27\webapps\ROOT\下面,命名為:LoveJsp.jsp
的瀏覽器里輸入:http://localhost:8080/LoveJsp.jsp 顯示結果如下: