Freemarker テンプレートに JSTL を実装しようとしています。そのためにフリーマーカーテンプレートのサンプルサンプルを入手し、JSTL名前空間を組み込んで実行してみました。これが私のコードが今どのように見えるかです。
<html>
<head><title>ViralPatel.net - FreeMarker Spring MVC Hello World</title>
<#assign c=JspTaglibs["http://java.sun.com/jstl/core"]/>
<style>
body, input {
font-family: Calibri, Arial;
margin: 0px;
padding: 0px;
}
#header h2 {
color: white;
background-color: #3275A8;
height: 50px;
padding: 5px 0 0 5px;
font-size: 20px;
}
.datatable {margin-bottom:5px;border:1px solid #eee;border- collapse:collapse;width:400px;max-width:100%;font-family:Calibri}
.datatable th {padding:3px;border:1px solid #888;height:30px;background-color:#B2D487;text-align:center;vertical-align:middle;color:#444444}
.datatable tr {border:1px solid #888}
.datatable tr.odd {background-color:#eee}
.datatable td {padding:2px;border:1px solid #888}
#content { padding 5px; margin: 5px; text-align: center}
fieldset { width: 300px; padding: 5px; margin-bottom: 0px; }
legend { font-weight: bold; }
</style>
<body>
<div id="header">
<H2>
<a href="http://viralpatel.net"><img height="37" width="236" border="0px" src="http://viralpatel.net/blogs/wp-content/themes/vp/images/logo.png" align="left"/></a>
FreeMarker Spring MVC Hello World
</H2>
</div>
<div id="content">
<c:set var="Salary" value="4000/>
<c:out value="${Salary}/>
<fieldset>
<legend>Add User</legend>
<form name="user" action="add.html" method="post">
Firstname: <input type="text" name="firstname" /> <br/>
Lastname: <input type="text" name="lastname" /> <br/>
<input type="submit" value=" Save " />
</form>
</fieldset>
<br/>
<table class="datatable">
<tr>
<th>Firstname</th> <th>Lastname</th>
</tr>
<#list model["userList"] as user>
<tr>
<td>${user.firstname}</td> <td>${user.lastname}</td>
</tr>
</#list>
</table>
</div>
</body>
</html>
追加した新しいコード、つまり Salary に問題があることはわかっていますが、次のエラーが表示されます。
freemarker.core.InvalidReferenceException: Expression Salary is undefined on line 62, column 5 in index.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
私は何を間違っていますか?
ありがとうニキル