long orgId = (Long)request.getSession().getAttribute("orgId");
그래서 내가 오랫동안로 변환 할 필요가 긴 변수에 request.getSession().getAttribute("orgId")
에서 무엇입니까 개체를 변환 할 수 없습니다입니다. 어쨌든 도움이 될 수 있습니다.
long orgId = (Long)request.getSession().getAttribute("orgId");
그래서 내가 오랫동안로 변환 할 필요가 긴 변수에 request.getSession().getAttribute("orgId")
에서 무엇입니까 개체를 변환 할 수 없습니다입니다. 어쨌든 도움이 될 수 있습니다.
"orgId"속성의 유형에 따라 다릅니다. 정말 긴 경우 코드가 작동해야합니다. 당신은 예를 들어 문자열로 추가 한 경우 Long.parseLong와 긴로 변환해야이
String strOrgId = (String) request.getSession().getAttribute("orgId");
그런 다음이 값을 구문 분석 할 수
long orgId = Long.parseLong((String)request.getSession().getAttribute("orgId"));
이 일반적인 방법 Long
long orgId = Long.parseLong(strOrgId);
['HttpSession # getAttribute'] (http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html#getAttribute (java.lang.String))는 객체를 반환하고, 그래서'orgId' 속성이'Long'으로 저장되면이 코드는 실패합니다. –
저장된 속성이'String'이라고 가정합니다. 'HttpSession'은 (본질적으로)'Map
에이 방법은 (당신이 가정하는 orgId 값이 prese있다가 오류가 너무 경향이있어, 진행하는 가장 좋은 방법이 아니다 nt 세션의 속성으로서 unboxing. orgId가 null/존재하지 않는 경우, 예외를 슬로우한다).
final long orgId;
Object sessionValue = request.getSession().getAttribute("orgId");
if(sessionValue != null) {
if(sessionValue instanceof Long)
{
orgId = ((Long)sessionValue).longValue();
}
else if(if(sessionValue instanceof String) {
orgId = Long.parseLong((String)sessionValue);
}
else {
// you can set orgId = 0, throw exception, do custom conversion
}
}
else {
// manage missed value
}
"orgId"가 세션 속성에 String 인스턴스 또는 Long 인스턴스로 저장되는 방법에 따라 다릅니다.
다음 코드는 약간 중복되지만 두 경우 모두를 위해 작동합니다.
Object attribute = request.getSession().getAttribute("orgId");
long orgId = Long.parseLong(String.valueOf(attribute));
긴 orgId = (롱) (. request.getSession()의 getAttribute ("orgId"))있는 longValue(); – Satya
'session # getAttribute ("orgId")'에 저장된 데이터가'Long' 타입이거나'String' 포맷입니까? –
내가 예상 할 수있는 유일한 문제는 당신이'orgId' 속성을 설정하지 않았고'null'을 반환한다는 것입니다. 그러면 코드가 실패합니다. 물론 질문을 편집하고 * 스택 바를 푸시 할 수 없다고 말하면서 오류의 스택 추적을 게시하면 올바른 대답을 드릴 수 있습니다. –