JSF2: commandLink без JavaScript - PullRequest
       6

JSF2: commandLink без JavaScript

1 голос
/ 28 января 2011

Возможно ли получить поведение h:commandLink без использования javascript?Я использую JSF2

Если я хочу использовать компонент lightbox , мне нужно будет предварительно сгенерировать полный URL-адрес.Если мои URL-адреса основаны на действии, я могу использовать только h:commandLink, который генерирует JavaScript, связанный с действием щелчка мыши.

Я хотел бы иметь функции навигации JSF (например, использовать action="#{bean.action}" для генерацииссылки) и способ получить полный сгенерированный URL.

Ответы [ 2 ]

4 голосов
/ 28 января 2011

Используйте взамен <h:outputLink> или <h:link>.Это генерирует простой HTML <a> элемент без необходимости <h:form>.Для вызова действий необходимо переместить логику из метода действия компонента в конструктор или @PostConstruct управляемого компонента, который связан с открытым представлением.

Если вам нужно передать параметры, используйте <f:param> добавить их в виде строки запроса.Вы можете использовать <managed-property> в faces-config.xml (или @ManagedProperty, когда вы уже используете JSF 2.0), чтобы установить эти параметры в компоненте.Вы можете получить к ним доступ в методе @PostConstruct.

0 голосов
/ 28 января 2011

В вашем действии вы можете использовать

try {
    FacesUtils.redirect("yourUrl.jsf");
} 
catch (IOException e) {
    Log.get().error(e);
}

Для перенаправления запросов.

Конечно, вы можете создать свой URL-адрес, как вы хотите

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

...