「このユーティリティクラス、jspでも使いたいなあ」ってとき、正しいお作法としてはタグライブラリ作ったりするんですけど、まあぶっちゃけめんどくさい、というかテスト用にちょっと使いたいとかでそこまでする気持ちにはなれないとき、結構ありますよね。
そんなときはこんな感じで、「request.setAttribute()を使う」という荒業を覚えておくと便利です。
もちろん書き捨てのソース以外ではやっちゃだめですよ。
サンプルはこんな感じですが、特に意味はありません。
GochiUsaUtil.java
package jp.co.util.GochiUsaUtil;
public class GochiUsaUtil
{
public static boolean isTheOrderARabbit(String name){
// ng
if("ココア".equals(name)){
return false;
}
if("チノ".equals(name)){
return false;
}
if("千夜".equals(name)){
return false;
}
// ok
if("シャロ".equals(name)){
return true;
}
if("リゼ".equals(name)){
return true;
}
if("ティッピー".equals(name)){
return true;
}
// other
return false;
}
}
gochiusa.jsp
<%@ page import="jp.co.util.GochiUsaUtil"%>
<%
request.setAttribute("KOKORO_PYON_PYON", GochiUsaUtil.isTheOrderARabbit("シャロ"));
%>
<s:set var="isRabbit" value="%{#request.KOKORO_PYON_PYON}" />
<s:if test="%{isRabbit}">
こころぴょんぴょんする
</s:if>
<s:else>
ぴょんぴょんしない
</s:else>
これでjspを表示させるとユーティリティクラスにより文字列判定が行われ、「ぴょんぴょんしない」という文字列が表示されるかと思います。なんかのときに覚えておくとよいかもしれません。
なお、僕はダイミダラーの方が好きです。