・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
