とんでもなく便利なjspのタグ
発見してしまいました。色々な問題を解決してくれるやつを。それは…
<% %>
これと
<%= %>
これです!
何ができるかというと、これ、Javaを書けるんですよね。
詳しく説明すると、前者がロジックを書くとこで後者が変数をhtmlタグに入れ込む用の奴なんすよね。
<%
String java_sample = "sample";
%>
<html:text name="sample" property="property" value="<%=java_sample%>"/>
こうやって書くとJavaのStringで書いた変数の値を表示することができるんですよね。これが非常に便利なんですよね。
応用すると、
<% if(entity.getId().equals("1")){ %>
<html:text name="name" property="property"/>
<% } %>
みたいに書くことでentityに指定したJavaのデータクラスのgetid()で取り出した値が1の時のみ、このhtmlタグをブラウザ上に表示させることができます。これが非常に有用性が高いんですよね。
あるWebアプリで新規登録のページと編集するページがあり、ほとんど表示するものが一緒。みたいなケース!
違うjspファイルを用意しないで済むのです。
ただしかし
これだけ便利でもやっぱりデメリットがありました。 私が感じた不便な点を紹介します。
- 見づらい
- 書き損じに気付きづらい
- デバッグがしづらい
見づらい
これが一番困る印象です。
JSPはJavaScriptとCSS、htmlに当たる文を書いてることが多いんですが、これに加えてJavaまで書くととにかく視認性が悪くなります。
書き損じに気付きづらい
Javaを直接Javaのファイルに書くのと違って、色が変わったり波線を引いたりしてくれません!よって気づけません!疲れてたら無理です!
しかも書き損じを見つける方法も「じっくり探す」しかありません(私が知らないだけかも)。だからミスった時めっちゃ大変なんですよね。。
デバッグがしづらい
上2つと似たようなもんなのですが、デバッグがしづらいです。
ブレークポイントで止めて、変数の中を見る。みたいな手法がとれないので挙動の確認がやりにくいんですよね。
まとめ
こんな感じですね。jspの便利なタグは。
めっちゃ便利なんですが、多用してると後々に苦労してしまうような気がするので使いどころには気を付けないとですね。