Jsp Bean サンプルプログラム

・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

タイトルとURLをコピーしました