Я просто хочу преобразовать параметр URL для навигации, например, 2010, в строку типа «Сезон 2010/11».Я думал о конвертере, используемом как:
<ui:define name="navigation">
<li>
<s:link view="/season-list.xhtml" value="#{seasonHome.id}" styleClass="selected" rendered="#{not empty seasonHome.id}" converter="#{startYearLabelConverter}" />
</li>
...
</ui:define>
Код конвертера:
@Name("startYearLabelConverter")
@BypassInterceptors
@Converter
public class StartYearLabelConverter implements javax.faces.convert.Converter
{
@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String s)
{
// "Season 2010/11" -> 2010 (as new Integer)
...
}
@Override
public String getAsString(FacesContext fc, UIComponent uic, Object obj)
{
// 2010 (as Integer) -> "Season 2010/11"
...
}
}
Очевидно, что s: ссылка не имеет атрибута "конвертер".Как это сделать в качестве «лучшей практики» без необходимости повторять код EL, например s:link ... value="Season #{seasonHome.id}/#{(seasonHome.id + 1).toString().substring(2)}"
?