・BeanであるクラスとBeanでないクラスの違い
Beanにはプロパティの値を設定するメソッドと
プロパティの値を取得するメソッドの名前に決まり事がある。
基本的には、setとgetの後にプロパティ名を続けたメソッドを準備すればよいだけ。
CopyrightHTMLBean.java
package atmarkit; /** * 著作権表示用のHTMLを生成するBean */ public class CopyrightHTMLBean { /** 著作年 */ private String year = "";・・・・・・・・private変数になった public void setYear(String year) { this.year = year; } /** 著作者 */ private String name = "";・・・・・・・・private変数になった public void setName(String name) { this.name = name; } /** メールアドレス */ private String mail = "";・・・・・・・・private変数になった public void setMail(String mail) { this.mail = mail; } /** * 標準的な著作権表示HTML文を取得する * @return 標準的な著作権表示HTML文 */ public String getNormalHTML() { // メールアドレスが指定されている場合は著作者名にリンクをつける if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "Copyright " + year + " " + name + ". All rights reserved."; } /** * 短い著作権表示HTML文を取得する * @return 短い著作権表示HTML文 */ public String getShortHTML() { // メールアドレスが指定されている場合は著作者名にリンクをつける if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "(C) " + year + " " + name + "."; } }
JSP側
<%@ page contentType="text/html; charset=euc-jp" %> <jsp:useBean id="copyright" class="atmarkit.CopyrightHTMLBean" /> <jsp:setProperty name="copyright" property="year" value="2001" /> <jsp:setProperty name="copyright" property="mail" value="taro@java.server.pages" /> <jsp:setProperty name="copyright" property="name" value="JSP 太郎" /> <% // オリジナルBeanを使用する %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> nbsp; <title>オリジナルBeanを使用する</title> </head> <body> <p>-- オリジナルBeanを使用する --</p> <p> <hr> 標準的な著作権表示<br> <jsp:getProperty name="copyright" property="normalHTML" /> <hr> 短い著作権表示<br> <jsp:getProperty name="copyright" property="shortHTML" /> <hr> </p> </body> </html>
●<jsp:useBean>
Beanの使用を宣言
<jsp:useBean id="copyright" class="atmarkit.CopyrightHTMLBean" />
atmarkit.CopyrightHTMLBean copyright = new atmarkit.CopyrightHTMLBean();
と同じような意味
●<jsp:setProperty>
Beanのプロパティの値を設定
<jsp:setProperty name="copyright" property="year" value="2001" />
copyright.setYear(“2001”);
と同じ意味
●<jsp:getProperty>
Beanのプロパティの値を取得
<jsp:getProperty name="copyright" property="shortHTML" />
copyright.getShortHTML(); と同じような意味
http://www.atmarkit.co.jp/fjava/rensai/jsp06/jsp06.html