2014-12-11 2 views
0

Я пытаюсь получить параметр из URL-адреса, но не могу. Я делаю это в моем JSFJSF notable для получения параметра из URL

<f:metadata> 
    <f:viewParam name="key" value="#{confirmationMB.key}" required="true" /> 
    <f:viewAction action="#{confirmationMB.confirmer()}"/> 
    </f:metadata> 

и это в моем управляемом компоненте:

@ManagedBean 
@ViewScoped 
public class confirmationMB { 
private String key; public String getKey() { 
    return key; 
} 

public void setKey(String key) { 
    this.key = key; 
} 
public void confirmer(){ 

    System.out.println("the key is "+key); 

} 

мой URL выглядит так:

http://localhost:8080/exempler/validate_inscription.xhtml?key=124he 

я всегда нулевой в качестве значения в системе .out..может кто-нибудь мне помочь?

Edit: , когда я пытаюсь <h:outputText value="#{param['key']}" /> в XHTML я могу получить ключ, но я не знаю, как я могу вставить его в мой Bean !!

ответ

0

Он с хорошо я найти решение моей проблемы: я ве добавить эти строки в моем managedBean и я могу получить теперь ключ от URL

HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
    String val = (String)req.getParameter("key"); 

I ставьте это решение, чтобы помочь людям, которые могут иметь такую ​​же проблему.

0

Использование:

<f:metadata> 
    <f:viewParam name="key" value="#{confirmationMB.key}" /> 
    <f:event type="preRenderView" 
     listener="#{confirmationMB.confirmer()}" /> 
</f:metadata> 
+0

спасибо @sQer за ваш ответ ... Я просто попробовал это, но все равно всегда имеет значение NULL 'ключ NULL' – Betty

+0

Фактически .. Я создаю ссылку вроде этого 'String lie n = "http: // localhost: 8080/instanceple/validate_inscription.xhtml? key =" + key + ";' 'String body =" pour confirmer "+" Clique here ";", а затем я отправил его с javamail – Betty

+0

Не могли бы вы попробовать в xhtml? Какой результат? – sQer

Смежные вопросы