The problem is apparently that the PageContext hasn't changed for the web flow, and I need to explicitly set the context attribute in my viewResolver
bean:
<bean
id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver"
p:requestContextAttribute="requestContext"
p:viewClass="org.springframework.web.servlet.view.tiles2.TilesView" />
Then I can change the line in my JSP to read:
<span class="${requestContext.locale}-i18n-option i18n-option-selected">
<spring:message code="Native Name (${requestContext.locale})" />
</span>
Which reads from the new context attribute requestContext
. Since I've used the viewResolver
bean for both web flows and non-web-flow pages, this solution works globally.