Скрытие значения параметра в URL-адресе - Приложение JSF - PullRequest
1 голос
/ 11 октября 2011
<h:outputLink value="#{beanname.path}">
    <h:outputText value="Output label"></h:outputText>
    <f:param name name="name" value="tommy"/>
</h:outputLink>

http://127.0.0.1:7101/projectt/faces/index.jsp?name=tommy Мой URL отображается со значением параметра.Я хочу спрятать его в URL и получить в классе бобов.

1 Ответ

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

Итак, вы хотите запрос POST? Вместо этого используйте <h:commandLink>.

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:param name name="name" value="tommy"/>
    </h:commandLink>
</h:form>

Параметр может быть установлен как

@ManagedProperty("#{param.name}")
private String name;

или может проходить мимо <f:setPropertyActionListener> вместо:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:setPropertyActionListener target="#{beanname.name}" value="tommy"/>
    </h:commandLink>
</h:form>

или если вы уже находитесь в контейнере с сервлетом 3.0 / EL 2.2 (Tomcat 7, Glassfish 3 и т. Д.), Просто передайте его в качестве аргумента метода действия:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome('tommy')}" />
</h:form>

с

public String outcome(String name) {
    // ...

    return "index";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...