Есть ли что-то вроде <c: url> для JSF? - PullRequest
2 голосов
/ 11 октября 2011

Есть ли в JSF taglib для вставки правильного корня контекста приложения в любой URL-адрес, который я хочу, точно так же, как тег <c:url> в JSP делает?

1 Ответ

7 голосов
/ 11 октября 2011

Не совсем так, но все компоненты JSF, которые ссылаются на ресурс URL, уже автоматически включают правильный контекстный путь и, в конечном итоге, также отображение FacesServlet.Например, <h:link>:

<h:link value="Link to other page" outcome="otherpage" />

, который отображает что-то вроде (при условии, что ваш контекстный путь равен /contextname, а ваш FacesServlet сопоставлен с *.xhtml):

<a href="/contextname/otherpage.xhtml">Link to other page</a>

Вы можете включить параметры запроса с помощью <f:param>:

<h:link value="Link to other page" outcome="otherpage">
    <f:param name="foo" value="#{bean.foo}" />
</h:link>

, что будет выглядеть примерно так:

<a href="/contextname/otherpage.xhtml?foo=bar">Link to other page</a>

Другие компоненты ссылкиэто также <h:outputStylesheet>, <h:outputScript> и <h:graphicImage> для CSS, JS и изображений соответственно:

<h:outputStylesheet library="default" name="css/foo.css" />
<h:outputScript library="default" name="js/foo.js" />
<h:graphicImage library="default" name="images/foo.png" />

, который отображает что-то вроде:

<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/foo.css.xhtml?ln=default" />
<script type="text/javascript" src="/contextname/javax.faces.resource/js/foo.js.xhtml?ln=default"></script>
<img src="/contextname/javax.faces.resource/images/foo.png.xhtml?ln=default" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...