Как сохранить и извлечь значение из сеанса в классе Java ADF 12C - PullRequest
0 голосов
/ 22 февраля 2019

Я пишу Java-класс в веб-приложении промежуточного программного обеспечения Oracle Fusion ADF 12C.Я хочу знать, как сохранить значение в сеансе и cookie внутри функции класса Java и получить значение из сеанса на странице .jsf.например, вот функция класса java.

public String it_name() {

  //want to store this itName in session and cookie    
  String itName = "OracleIT";    
  return itName;

}

Помните, что хотите извлечь значение из сеанса на странице .jsf, а также к компонентам adf.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019
FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) 
        context.getExternalContext().getSession(true);
        session.setAttribute("itName ", "oracleIT");
        Map aDFContext = ADFContext.getCurrent().getSessionScope();
    System.err.println("itName:"+aDFContext.get("itName").toString());

Использование может использовать EL, как это

 #{sessionScope.itName}

Использование может использовать Groovy выражение, как это

adf.context.sessionScope.itName
0 голосов
/ 22 февраля 2019

Чтобы сохранить переменную в сеансе, вы можете использовать следующую функцию JSFUtils:

/**
* Convenience method for setting Session variables.
* @param key object key
* @param object value to store
*/

public static void storeOnSession(String key, Object object) {
    FacesContext ctx = FacesContext.getFacesContext();
    Map sessionState = ctx.getExternalContext().getSessionMap();
    sessionState.put(key, object);
}

В вашем случае:

// Java file
public String it_name() {
    String itName = "OracleIT";   
    storeOnSession("itName",itName)
    return itName;
}

//JSF : 
<af:outputText value="${sessionScope.itName}" id="pt_ot1" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...