I need to show content in JSP page based on user’s access level. This content differs slightly (additional buttons, links)
What should I do?
1. process this logic in the controller and forward to different pages?
2. create one page using Expression Language? (use c:if or c:when )
This is kind of a subjective question. Personally, I would avoid option #1 if the differences between the pages would be very minor, as you have said just some different buttons. Option #2 will limit duplicated code: you won’t have to make 2 very similar pages.
The downside is that it you have put some additional logic in your view page and that is difficult to maintain.
For a simple case like additional links, you may consider calling a function from your controller to get a list of links/buttons the user has access to based on their role (assuming the buttons are grouped together). That would keep the logic in your controller/model.