Witam
Mam taki problem z enumem dodanym do widoku , a mianowicie mam enuma :
public enum ProjectUrl()
{
MAIN_JSP ("/" , "main/Index", false)'
private String url;
private String path;
private boolean external;
private ProjectUrl(String url, String path, boolean external)
{
this.url = url ;
this.path = path;
this.external = external;
}
public String getUrl()
{
return url ;
}
public static String getMainUrl()
{
return MAIN_JSP.getUrl();
}
}
Czyli najzwyklejszy w świecie enum :) Mam tez kontroler :
@Controller
public class MainController
{
@RequestMaping(value="/", method=RequestMethod.GET)
public ModelAndView mainLoad(HttpServlerRespose response)
{
ModelAndView mv = new ModelAndView(ProjectUrl.MAIN_JSP.getPath());
mv.addObject("projectUrl", ProjectUrl.values());
return mv;
}
}
Teraz na stronie Index.jsp chcę użyć tego enuma ale nie wiem dlaczego nie działa :/
czyli mam ${projectUrl.MAIN_JSP.url}
Nie mam tylko pojęcia dlaczego to nie działa ??
Da się coś takiego zrobić i czy mogę wywołać poprzez el statyczną metodę getMainUrl() ??
Myślałem też nad innym rozwiązaniem czyli w metodzie @PostConstruct zainicjalizować hashMape z kluczem "nazwa enumu" i wartościa "url enuma" ? i przekazać tą hashMape na widok ... Ale nie wydaje mi się to rozwiązanie eleganckie ....
Dziękuję za odpowiedzi ..