The c:forEach element has a "varStatus" attribute which allows you to specify a variable which tells you about the status of the loop. One of the things it tells you is whether it's the first time through the loop. So (from memory) something like this:
I think the varStatus variable can also tell you if it's the last time through the loop, if that works better for getting the semicolons right. And if my memory wasn't perfect (it happens occasionally) then track down the documentation.
The varStatus attribute allows you to create a construct that will give you information such as the loop index et al. You can use this to determine if you are on the first iteration or not and add the appropriate CSS to bold the item when appropriate.