JSP和JavaBean可以互相調用其中的內容。現在我們實現一個最簡單的JSP與JavaBean。
我們實現一個輸入文字,將文字傳給JavaBean,然後再讓JavaBean返回內容給JSP的功能。我們需要一個JSP文件,一個JavaBean。
JavaBean文件
在scr目錄下新建一個名為packagemane的包,在這個包下面新建一個java文件,BeanName.java(文件名任意)
代碼如下:
[java]
package packagename;
public class BeanName {
String ProName;
//參數名必須和jsp:setProperty中property,param的值相同。
//JavaBean中有一個set方法,一個get方法。注意方法名和參數名的關系,注意方法返回值的對應。
public void setProName(String proName){
this.ProName = proName;
}
public String getProName(){
String newStr="你輸入了:"+ProName;
return newStr;
}
}
JSP文件
在WebRoot或其子目錄下新建一個jsp文件,名字任意。
裡面的代碼如下:
比較關鍵的地方有三個:
1、useBean。
定義Bean的名稱。後面setProperty和getProperty的名稱要和這個保持一致。
2、setProperty
用於將網頁上面的內容傳給JavaBean.setProperty有好幾種方法,這裡隨便用了一種。
關於property和param的值,建議相同。其實我現在還沒搞清它們到底和後面的哪個對應。
特別需要注意的是這個值一定要和JavaBean文件中的參數名相同。比如我這裡寫的是proName,JavaBean裡面的參數是String ProName。
3、getProperty
用於將JavaBean中的內容傳給網頁。
[html]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<%--強力防中文亂碼--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>最簡單的JSP和JavaBean</title>
<jsp:useBean id="entityName" scope="page" class="packagename.BeanName"></jsp:useBean>
<!--scope的參數有四種:page,request,session,application
class的值為包名.Bean的文件名 -->
<jsp:setProperty name="entityName" property="proName" param="proName"/>
<!-- setProperty是將JSP網頁的參數傳給JavaBean,getProperty則是將JavaBean的參數傳給JSP頁面
為避免混亂property和param最好相同。並且該值也必須和Bean文件中的參數名相同。 -->
</head>
<body>
<form name="form1" action="" method="post">
在這裡輸入傳給JavaBean的內容:<br>
<input type="text" name="proName"/>
<input type="submit" name="T1" value="提交"/>
<br>
</form>
下面顯示的是從JavaBean返回的內容:<br>
<jsp:getProperty name="entityName" property="proName" />
</body>
</html> www.2cto.com
實現效果
輸入前
提交後
作者:shirenfeigui