如何在Java类adf 12c

时间:2019-02-22 13:06:35

标签: jsf

我正在oracle融合中间件Web应用adf 12c中编写一个Java类。 我想知道如何将值存储在java类函数内的会话和cookie中,以及如何从.jsf页面上的会话中获取值。 例如,这里是Java类函数。

public String it_name() {

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

}

请记住也要从.jsf页面上的会话中获取值。adffaces组件也是如此。

2 个答案:

答案 0 :(得分:0)

要在Session中存储变量,可以使用以下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" />

答案 1 :(得分:0)

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}

use可以使用类似这样的常规表达方式

adf.context.sessionScope.itName