目次へ

15.JSP2.1 その他の追加機能

JSP2.1にはUnified EL以外にも便利になった新機能があります。

5.1. @Resourceによるリソースインジェクション

Servlet2.5と同様、@Resourceアノテーションによるリソースインジェクションが行えるようになりました。 JSPではタグハンドラなどでの使用が考えられます。

@Resource(name="jdbc/myDB") 
javax.sql.DataSource myDB;
public getProductsByCategory() {
	// Get a connection and execute the query.
	Connection conn = mydb.getConnection();
	...
}

5.2 trimDirectiveWhitespaces属性

JSPのページディレクティブに追加されたtrimDirectiveWhitespaces属性をtrueにすることで、 生成されるHTMLから余分な空白行や余白を取り除き、 すっきりとした読みやすいHTMLコードを生成します。

たとえば以下のようなJSPを作成したとします。

<%@page contentType="text/html"%>
<%@page trimDirectiveWhitespaces="false"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<jsp:useBean id="conference" class="conf.Conference" scope="page" />

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Test trimWhiteSpace directive</title>
	</head>
	<body>
		<h1>Test trimWhiteSpace directive</h1>

		Hello Pedro!<br>For the conference, you'll need to bring:<br> 
		<c:forEach items="${conference.items}" var="conf" varStatus="stat">
			${conf} <br>
		</c:forEach>
	</body>
</html>

この場合、JSP2.1以前では以下のように余分な空白行やスペースがHTMLに出力されていました。 (¬ は空白行の終端位置を表しています。)

¬
	¬
	¬
	¬
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Test trimWhiteSpace directive</title>
	</head>
	<body>
		<h1>Test trimWhiteSpace directive</h1>
		¬  
		 Hello Pedro!<br>For the conference, you'll need to bring:<br> 
		¬  
         laptop <br> 
		¬  
         white papers <br> 
		¬  
         candy bars <br> 
		¬  
	</body>
</html>

今回追加されたtrimDirectiveWhitespaces属性をtrueにすると、

<%@page trimDirectiveWhitespaces="true"%>

先ほどのページの空白行や余白が取り除かれ、以下のようにすっきりしたHTMLになりました。

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Test trimWhiteSpace directive</title>
	</head>
	<body>
		<h1>Test trimWhiteSpace directive</h1>

		Hello Pedro!<br>For the conference, you'll need to bring:<br>
		laptop<br>
		white papers<br>
		candy bars<br>
	</body>
</html>

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp