A. java獲取session的值怎麼使用
一、頁面傳值
發送方:
觸發requestCommand.execute()事件,setPath(path)來跳轉頁面,requestCommand.parameters().setValue("field1",value)來
傳遞參數,也可以setDataSet(dataset)來傳遞該dataset的當前記錄。
還有一種方式:通過requestCommand的parameterFields實現傳值
接受方:
任意一dataset中設置和requestConmmand傳遞的參數相同名稱的fields,就可以獲取相應的參數了。或者用session來獲取參數。
該處可能是描述上的問題,相信作者理解上不存在問題
接受requestCommand傳過來的參數都是通過Request實現,由於生命周期的不同,而會是用不同的方式處理:
Java代碼:一般我們是通過DoradoContext處理
視圖模型xml文件中的屬性以及js事件:我們通過dorado提供的EL表達式處理,例如:${Request.parameterName1}或則${request.getParameter("parameterName1")},具體參考EL表達式的使用文檔。
同樣我們在以上的兩個地方要操作session也是一樣通過DoradoContext或者EL表達式實現
二、設置session
第一步:頁面傳值(略)
第二步:設置session
方法一,在jsp中設session: <%session.setAttribute("roles",request.getParameters("roles"));%>
方法二,在servlet中設session:
String roles = request.getParameter("roles");
HttpSession session = request.getSession();
session.setAttribute("roles", roles);
----------------------------------------------------------
第三步:獲取session值
方法一:在jsp中獲取:String roles = (String)session.getAttribute("roles");
方法二:在scrīpt中獲取:
var roles = new Array();
roles = "${Session.roles}";
這兒指的script是指View(視圖模型的事件代碼),而對於jsp中的js就不必拘泥於形式,當然一個dorado頁面我們認為不太可能在jsp上出現非布局與css的其他代碼(如果你的dorado經驗比較豐富的話)
--------------------------------------------------------
注意事項:
session的設置順序要和頁面傳值的順序一致
B. java怎麼獲取session
在Servlet或者是在Struts1中獲取當前用戶的Session方法是內:容
HttpSession session = request.getSession(true);
注意:request的類型是:HttpServletRequest.
如果是在Struts2中的Action中獲取Session.方法是:
Map session = ActionContext.getContext().getSession();
C. java web的怎麼通過sessionid得到session
在回答問題之前,跟你簡單介紹Session的工作原理:
不需要寫手動寫SessionID:
代碼如下:
HttpSessionsesion=Request.getSesion();
if(session!=null){
//如果sessionID不等於空版,則說明是權第二次訪問
//寫第二次訪問時的代碼
}else{
//寫第一次訪問的代碼
}
javaweb怎麼通過sessionid得到session這個我們不需要了解,就是第二次客戶端發出請求時,將sessionid也發給了伺服器,伺服器根據這個唯一的ID找到相應的session(session都是保存在伺服器的資料庫中,每個session用唯一一個ID所標識),就像是資料庫中根據關鍵字查找數據一樣,找到之後就可以直接用這個session裡面的數據了。
D. Java,在伺服器中怎麼獲取所有sessionstruts中呢謝謝
你直接根據id取值就行了,不過你要知道存session的時候是不是把用戶id所謂索引的。
String user = (String)session.getAttribute("1");
if(user == null){
out.print("該用戶不存在");
}
struts中用
ServletActionContext.getContext().getSession().get(key)就行了
E. 大神們,請教下,java如何獲取session的東西
一般情況下
用Session.getAttibute(String
key)來獲得
Session對象
中含有的關鍵字是key的對象。key
是通過Session.setAttibute(String
key
,Object
obj)自己設定的一個索引關鍵字!Session對象怎麼來的的呢
可以通過request.getSession()來獲得!
所以現在就明白了:通過request.getsession()獲得session
對象
再調用它的getAttibute(String
key)方法來獲得含有關鍵字「PASSPORT_NICKNAME」的對象
例子:
UserID = (String) request.getSession().getAttribute("UserID");
F. java中如何取項目的所有session
java.util.Enumeration e = request.getSession().getAttributeNames();
while( e.hasMoreElements()) {
String sessionName=(String)e.nextElement();
out.println("\nsession item name="+sessionName);
out.println("\nsession item value="+request.getSession().getAttribute(sessionName));
}
String value=String.valueOf(request.getSession().getAttribute(sessionName));
G. java怎麼獲取session中所有的值
session是後台伺服器端的變數,而js是前段腳本,在js中是沒有現成的方法獲取session的值的,需要通過伺服器語言來獲取。
H. java session如何存取數據
java session存取數據的方法:
session存數據方法:publicvoidsetAttribute(Stringname,Stringvalue)方法,設定指定名字的屬性的值,並將它添加到session會話范圍內,如果這個屬性在會話范圍內已經存在,則更改該屬性的值。
session取數據方法:publicObjectgetAttribute(Stringname)在會話范圍內獲取指定名字的屬性的值,返回值類型為object,如果該屬性不存在,則返回null。
舉例如下:
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF=8");
response.setContentType("text/html;charset=UTF-8");
//使用request對象的getSession()獲取session,如果session不存在則創建一個
HttpSessionsession=request.getSession();
//將數據存儲到session中
session.setAttribute("attr","會話測試");
}
}
可以在jsp頁面獲取session數據<%=request.getSession().getAttribute("attr")%>