Не удалось получить путь servletcontext в jsf

Я написал портлет с богатостями liferay. Но я не смог получить путь css или изображения в папке web-inf. Моя конфигурация портлета

<portlet>
 <portlet-name>testLR6_PB3_RF4</portlet-name>
 <instanceable>true</instanceable>

 <render-weight>1</render-weight>
 <ajaxable>true</ajaxable>
 <header-portlet-css>/resources/css/style.css</header-portlet-css>
 <header-portlet-javascript>/js/eims.js</header-portlet-javascript>
 <footer-portlet-javascript>/js/**********.js</footer-portlet-javascript>
 </portlet>

и на моей странице jsf

как получить путь к ресурсам.

это мой код Java servletcontext

FacesContext context = FacesContext.getCurrentInstance();
 ServletContext servletContext= (ServletContext) context.getCurrentInstance().getExternalContext().getContext();
 String path=servletContext.getRealPath("/");
 MainBean mainBean = new MainBean();
 mainBean.getUserBean().setUserPath(path);
1 ответ

Посмотрите, как я могу получить доступ к моим файлам, размещенным в папке WEB-INF. Это может помочь. Кроме того, если вы используете JSF 2.0, Facelets, вы можете просто получить свой корневой контекст на своих страницах jsf как

и везде, где вам нужно получить доступ к файлам внутри вашего корня контекста, вы можете получить к ним доступ (гипотетический пример)

На стороне java вы можете получить контекстный путь как

String contextPath = FacesContext.getCurrentInstance().getExternalContext().getContextName();

Надеюсь это поможет.

licensed under cc by-sa 3.0 with attribution.