JSPのJavaScript内でもEL式の値は出力できます。年だけ実装したものをご参考までに。
java
1package sample;
2
3import java.io.IOException;
4
5import javax.servlet.ServletException;
6import javax.servlet.annotation.WebServlet;
7import javax.servlet.http.HttpServlet;
8import javax.servlet.http.HttpServletRequest;
9import javax.servlet.http.HttpServletResponse;
10
1113
14@WebServlet("/CalendarServlet")
15public class CalendarServlet extends HttpServlet {
16 private static final long serialVersionUID = 1L;
17
18
19 2021
22 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
23 request.setAttribute("selectYear", 2016);
24
25 request.getRequestDispatcher("/calendar.jsp").forward(request, response);
26 }
27}
html
1<%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3<!DOCTYPE html>
4<html>
5<head>
6<script>
7window.onload = function() {
8 var yearOptions = document.getElementById("year");
9
10 var selectYear = ${selectYear};
11
12 for ( i=0;i<yearOptions.length;i++ ) {
13 if ( yearOptions[i].value == selectYear ) {
14 yearOptions[i].selected = true;
15 }
16 }
17}
18</script>
19</head>
20<body>
21<form>
22<select id="year">
23 <option value="2014">2014</option>
24 <option value="2015">2015</option>
25 <option value="2016">2016</option>
26 <option value="2017">2017</option>
27</select>
28</form>
29</body>
30</html>