JSPでHTMLを表示させる時に、ある条件を満たす場合だけ出力させたい
JSPでHTMLを表示させる時に、ある条件を満たす場合だけ出力させたい時がある。
そんな時は、c:ifタグが使える。
<c:if test="条件"> <%-- ifの条件を満たす場合 --%> </c:if>
Javaで年を取得する
webサイトを作っている時に、本年度を出す必要性に迫れたので取得方法を調査した。
java.util.Calendarのインポート行いCalendarクラスのgetメソッドを使えばいけそうだ。
import java.util.Calendar; Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR);
確かに上を実行したら表示することができた。
JSPで大量に出力される空白を削除したい
JSPでHTMLを表示させた際に、大量に空白が表示されてしまう。
これでは、ダウンロードに時間もかかるし、表示した際に改行だらけでなんかイケてない。
そこで、どうすれば余分な空白ないし改行を削除することができるのか調べたら、どうやらtrimDirectiveWhitespaces属性をtrueにすればいけるようだ。
<%@page trimDirectiveWhitespaces="true"%>
確かに試したところ余計な空白を削除することができた。
一件落着。
The serializable class XXXServlet does not declare a static final serialVersionUID field of type longという警告
Google App Engine Java 8でServletを実装していたら警告が表示された
どんな警告かというと、本記事のタイトルとなっている The serializable class XXXServlet does not declare a static final serialVersionUID field of type long という警告である。
ソースコードは純粋にリクエストに対してそのままjspを表示させるというシンプルなものである。
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet( name = "HogeServlet", urlPatterns = {""} ) public class HogeServlet extends HttpServlet implements BaseInterface { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ request.getRequestDispatcher("/hoge.jsp").forward(request, response); } }
解決策としてserialVersionUID変数にlong型の変数を設定することで、いったん、警告を解除することができた。
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet( name = "HogeServlet", urlPatterns = {""} ) public class HogeServlet extends HttpServlet implements BaseInterface { private static final long serialVersionUID = 1L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ request.getRequestDispatcher("/hoge.jsp").forward(request, response); } }
ただこれ、根本解決ではないような気がするんだよなぁ〜。
個人運用の小さなシステムだったら問題ないと思うんだけど、大規模システムだと怪しい気がする。
Cloud Tools for Eclipseのインストール方法
Google App Engine JavaをEclipseで作る際に、プラグインをいれないといけないことに気がついたので、その方法についてまとめてみる。
Eclipseを立ち上げて、「Help」の「Eclipse Marketplace」を選択




