我正在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组件也是如此。
答案 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