如何在java class adf 12c中存储和获取会话中的值

问题描述 投票:-2回答:2

我正在oracle fusion中间件web app adf 12c中编写一个java类。我想知道如何在java类函数中的session和cookie中存储值,并从.jsf页面上的session中获取值。例如这里是java类函数。

public String it_name() {

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

}

请记住,想要从.jsf页面上的会话中获取值adf faces components。

jsf
2个回答
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" />

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可以像这样使用groovy表达式

adf.context.sessionScope.itName
© www.soinside.com 2019 - 2024. All rights reserved.