Деловая речь, WebApi не хватает WSDL, поэтому разработчики должны документировать все вручную. И если, например, операция WebApi возвращает список объектов, то клиент должен создавать объекты вручную, то есть WebAPI действительно подвержен ошибкам определений.
Про Webapi является более легким, чем ФОС.
Либо просто укажите URL-адрес непосредственно в <a>
или <h:outputLink>
.
<a href="http://stackoverflow.com">Go to this site!</a>
<!-- or -->
<h:outputLink value="http://stackoverflow.com">Go to this site!</h:outputLink>
Или, если вам нужно вызвать действие компонента с помощью <h:commandLink>
, как показано ниже,
<h:form>
<h:commandLink value="Go to this site!" action="#{bean.redirect}" />
</h:form>
, затем используйте ExternalContext#redirect()
в методе действий.
public void redirect() throws IOException {
// ...
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("http://stackoverflow.com");
}
Обратите внимание, что вам не нужно поймать IOException
, сервер будет работать с этим. Также обратите внимание на важность включения схемы (http://
или https://
или //
) в URL, иначе она будет интерпретироваться относительно текущего домена.