6) 標準EL関数の使い方
EL関数を使うと画面の出力結果をJava側で編集することができます。
以下は、標準EL関数を使った日付の書式を変更するサンプルです。
(1) Webフォーム(beans_input_list.html)
<html>
<head>
<title>日付チェック</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<h3>日付を入力してください</h3>
<p>
日付入力と、表示のサンプルです。<br/>
日付の入力は以下の入力が可能です。<br/>
</p>
<p>
<div id="area">
【入力可能な書式】。<br/><br/>
yyyy-MM-dd, yyyy/MM/dd, yy-MM-dd yy/MM/dd, <br/>
yyyy-MM-dd hh:mm:ss, yyyy/MM/dd hh:mm:ss, yy-MM-dd hh:mm:ss, yy/MM/dd hh:mm:ss,<br/>
YYYYMMDD, YYMMDD, <br/>
mm/dd/yyyy, mm/dd/yyyy hh:mm:ss<br/>
</div>
</p>
<form name="calf1" method="post" action="./html_4_0/date_check/show.wb">
<div id="area">
日付を入力してください:<input name="date" value="${date}"/>
<li>入力結果->${dateC.format(result.date, yyyy/MM/dd)}</li><br/>
<li>明日->${dateC.add(result.date, yyyy/MM/dd, d, 1)}</li><br/>
<li>昨日->${dateC.add(result.date, yyyy-MM-dd, d, -1)}</li><br/>
<li>1ヵ月後->${dateC.add(result.date, yy/MM/dd, M, 1 )}</li><br/>
</div>
<br/>
<p>
<input type="submit" value="送信"/><br/>
</p>
</form>
</body>
</html>
dateCメソッドは、java.util.Dateインスタンスの書式や、日付演算をサポートするEL関数です。
dateC.formatは、日付の書式を設定することができ、dateC.addで日付演算を行うことが出来ます。
dateCの実装は、org.itscool.stylist.function.DateCクラスになります。
dateCが提供するメソッドについてはjavadocを参照してください。
(2) フォームクラス(weber_4_0_sample.org.itscool.date_check.DateCheck.java)
package weber_4_0_sample.org.itscool.date_check;
import java.util.Date;
public class DateCheck {
private Date date;
public Date getDate() { return date; }
public void setDate(Date date) { this.date = date; }
}
(3) アクションクラス(weber_4_0_sample.org.itscool.date_check.DateCheckShowAction.java)
package weber_4_0_sample.org.itscool.date_check;
import java.util.ArrayList;
import org.itscool.weber.action.Action;
import org.itscool.weber.action.ActionBucket;
public class DateCheckShowAction extends Action{
public String doExecute(ActionBucket bucket){
String input = (String)this.getParameter("date");
DateCheck date = (DateCheck)bucket.getForm();
bucket.setAttribute("result", date);
bucket.setAttribute("date", input);
return "input";
}
}
実行結果は以下のとおりです。
(4) 標準でサポートされているEL関数の一覧
標準EL関数はdateC.format、dateC.add以外にも以下のものが提供されています。