2013年6月12日水曜日

JSPのJavaBeansのEL式内でのIF文の書き方

TomcatやJBossを使ってJSPでJavaBeansを使う時、EL式の中でif文や三項演算子が使いたい時があります。
そんな時、どうやったらよいかサンプルをここに記載したいと思います。

以下の様なJavaBeansがあったとします。

package test;

public class Hoge {

 private int id;
 private String hoge;
 /**
  * @return id
  */
 public int getId() {
  return id;
 }
 /**
  * @param id セットする id
  */
 public void setId(int id) {
  this.id = id;
 }
 /**
  * @return hoge
  */
 public String getHoge() {
  return hoge;
 }
 /**
  * @param hoge セットする hoge
  */
 public void setHoge(String hoge) {
  this.hoge = hoge;
 }
}

JSPでこのJavaBeansをEL式で表したサンプルを記載すると
<%@page import="test.Hoge"%>
<%@page contentType="text/html; charset=utf-8"%>
<!DOCTYPE HTML>
<html lang="jp">
 <head>
  <meta charset="utf-8">
 </head>
 <body>
 <%
  Hoge hoge = new Hoge();
  hoge.setId(1);
  hoge.setHoge("test");
  request.setAttribute("hoge", hoge);
 %>
  <div>id:${hoge.id}</div>
  <div>hoge:${hoge.hoge}</div>
  <!-- if文 -->
  <div>id=1の時:${hoge.id == 1 ? 'True' : 'False'}</div>
  <div>id=2の時:${hoge.id == 2 ? 'True' : 'False'}</div>
 </body>
</html>
これを実行すると以下のようになる。
JSPの実行結果

${hoge.id == 1 ? 'True' : 'False'}で=1だったらTrue、それ以外はFalseになるという意味である。
また${hoge.id > 0 ? hoge.id: ""}の様な使い方もできる。

enumとの比較

enumとの比較は、Hoge.AAAと言うenumクラスがあったとしたら、
${クラス.プロパティ == 'AAA' ? '真', '偽'}
となる。

Written By : // 12:09
Category:

0 コメント:

コメントを投稿

 

About

このブログは筆者の備忘録として色々記載しています。

Blog Archive

Powered by Blogger.