LoginSignup
2
1

More than 5 years have passed since last update.

StrutsのJSPから既存のユーティリティクラスを呼び出す(やっつけ)

Last updated at Posted at 2014-07-28

「このユーティリティクラス、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を表示させるとユーティリティクラスにより文字列判定が行われ、「ぴょんぴょんしない」という文字列が表示されるかと思います。なんかのときに覚えておくとよいかもしれません。

なお、僕はダイミダラーの方が好きです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1