Как передать новое скрытое значение компоненту поддержки в JSF

Как передать новое скрытое значение бэк-бину в JSF

В некоторых случаях вам может потребоваться передать новое скрытое значение компоненту поддержки. Как правило, есть два пути:

1. HTML Tag + getRequestParameterMap ()

Отображать скрытое поле с помощью простого ввода HTML, жестко закодированного нового скрытого значения и доступа к компоненту поддержки через методgetRequestParameterMap().

JSF…


    
    

Управляемый боб…

@ManagedBean(name="user")
@SessionScoped
public class UserBean
{
    public String action(){
       String value = FacesContext.getCurrentInstance().
        getExternalContext().getRequestParameterMap().get("hidden1");
    }
}

2. JSF Tag + JavaScript

Отобразить скрытое поле с помощью тега «h: inputHidden», назначить новое значение с помощью JavaScript.

JSF…



   
   

Управляемый боб…

@ManagedBean(name="user")
@SessionScoped
public class UserBean
{
    public String hidden2;

    public void setHidden2(String hidden2) {
        this.hidden2 = hidden2;
    }
}

Пример нового скрытого значения JSF 2.0

Пример JSF 2.0, чтобы продемонстрировать использование вышеупомянутых двух методов для передачи нового скрытого значения компоненту поддержки.

1. Управляемый Боб

Простой управляемый компонент, присвойте ему имя «пользователь».

package com.example.form;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import java.io.Serializable;

@ManagedBean(name="user")
@SessionScoped
public class UserBean implements Serializable {

    public String hidden1;
    public String hidden2;

    public String getHidden2() {
        return hidden2;
    }

    public void setHidden2(String hidden2) {
        this.hidden2 = hidden2;
    }

    public String getHidden1() {
        return hidden1;
    }

    public void setHidden1(String hidden1) {
        this.hidden1 = hidden1;
    }

    public String action(){

        String value = FacesContext.getCurrentInstance().
        getExternalContext().getRequestParameterMap().get("hidden1");
        setHidden1(value);

        return "start";
    }
}

2. Просмотр страницы

Две страницы для демонстрации.

demo.xhtml - два способа передать новое скрытое значение.





    
    
    
    
     

JSF 2 pass new hidden value to backing bean

start.xhtml - отображать скрытое значение через тег «h: outputText».





    
        

JSF 2 pass new hidden value to backing bean

  1. Hidden1 =
  2. Hidden2 =

Скачать исходный код

Скачать -JSF-2-New-HiddenValue-Example.zip (10 КБ)

Ссылка