Are you sure your template is correctly encoded in UTF-8? sometimes, editors do not correctly encode file modifications and can include byte sequences in ISO-8859-1 into UTF-8 files... could it be that you have mixed encodings in the same file?
And also, have you checked the encoding you are using for HTML output? Could it be that the browser is being sent your HTML as ISO-8859-1 (which does NOT include an EURO symbol) instead of ISO-8859-15 (which does)? If so, switching your HTML output to UTF-8 or ISO-8859-15 (including both Spring MVC and <meta> tags) should make your euro symbols appear...
Also, please note that the Java SE specification establishes that .properties files must ALWAYS be encoded in ISO-8859-1, whichever the host Operating System, and that any character not in the ISO-8859-1 char set should be specified in the form of a unicode escape.
So, in a .properties file you should always specify your euro symbols as "\u20ac"