如何实现int id=session.getAttribute("id")?

zzzttt5 2012-07-13 12:27:56
如何实现int id=session.getAttribute("id")?
这里session.getAttribute("id")为Object类型无法转成int类型!!!
...全文
480 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzttt5 2012-07-16
  • 打赏
  • 举报
回复
11楼那个代码有点小问题,我不小心复制错了,请大哥大姐们看10楼的代码吧!!!
zzzttt5 2012-07-16
  • 打赏
  • 举报
回复

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="cn.mldn.lxh.note.factory.*"%>
<%@ page import="cn.mldn.lxh.note.vo.*"%>

<script LANGUAGE="javascript">
//var flag=true;
function check() {
if( document.form1.password.value == ""||document.form1.upassword2.value == ""){
alert("密码为空,请重新输入");
return false;
}
else if( document.form1.password.value !=document.form1.upassword2.value){
alert("两次密码不一样,请重新输入。");
// flag=false;
return false;
}
else {
return true;

}

}
</script>
<html>
<head>
<title>JSP+DAO留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + DAO实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null)
{
// 用户已登陆
%>
<%
// 进行乱码处理
request.setCharacterEncoding("GB2312") ;
%>
<%
// 接收参数
int id = 0 ;


String idStr=(String)session.getAttribute("id");
id=Integer.parseInt(idStr);


%>
<%
Person person=null;
try
{
person = DAOFactory.getPersonDAOInstance().queryById(id);
}
catch(Exception e)
{
System.out.println("1111111111");
}
%>
<%
if(person!=null)
{
try{
String idStr=(String)session.getAttribute("id");
id=Integer.parseInt(idStr);

}
catch(Exception e){}

%>
<form action="update_do.jsp" method="post">
<table>
<tr>
<td colspan="2">修改密码</td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" name="password" value="<%=password%>"></td>
</tr>
<tr>
<td>确认密码</td>
<td><input type="text" name="upassword2" value="<%=password%>"></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="更新">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
<%
}
else
{
%>
没有发现,要更新的内容!!<br>
请确认要更新的人员是否存在!!<br>
<%
}


%>
<%
}
else
{
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=../denglu.htm") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="../denglu.htm">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


谁帮忙解解,在此谢谢了!
zzzttt5 2012-07-16
  • 打赏
  • 举报
回复
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.Integer cannot be cast to java.lang.String
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
org.apache.jsp.news.admin.MyOffice_005findex_files.mima_jsp._jspService(mima_jsp.java:95)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.





500错误啊
源码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="cn.mldn.lxh.note.factory.*"%>
<%@ page import="cn.mldn.lxh.note.vo.*"%>

<script LANGUAGE="javascript">
//var flag=true;
function check() {
if( document.form1.password.value == ""||document.form1.upassword2.value == ""){
alert("密码为空,请重新输入");
return false;
}
else if( document.form1.password.value !=document.form1.upassword2.value){
alert("两次密码不一样,请重新输入。");
// flag=false;
return false;
}
else {
return true;

}

}
</script>
<html>
<head>
<title>JSP+DAO留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + DAO实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null)
{
// 用户已登陆
%>
<%
// 进行乱码处理
request.setCharacterEncoding("GB2312") ;
%>
<%
// 接收参数
int id = 0 ;


String idStr=(String)session.getAttribute("id");
id=Integer.parseInt(idStr);


%>
<%
Person person=null;
try
{
person = DAOFactory.getPersonDAOInstance().queryById(id);
}
catch(Exception e)
{
System.out.println("1111111111");
}
%>
<%
if(person!=null)
{

id =person.getId() ;
String password = person.getPassword();
%>
<form action="update_do.jsp" method="post">
<table>
<tr>
<td colspan="2">修改密码</td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" name="password" value="<%=password%>"></td>
</tr>
<tr>
<td>确认密码</td>
<td><input type="text" name="upassword2" value="<%=password%>"></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="更新">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
<%
}
else
{
%>
没有发现,要更新的内容!!<br>
请确认要更新的人员是否存在!!<br>
<%
}


%>
<%
}
else
{
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=../denglu.htm") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="../denglu.htm">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>








D_lady 2012-07-13
  • 打赏
  • 举报
回复
String idStr=(String)session.getAttribute("id");
int id=Integer.paseInt(idStr);
漆黑之勺 2012-07-13
  • 打赏
  • 举报
回复
integer强制转换
D_lady 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

D:\Java\Tomcat 5.0\work\Catalina\localhost\web\org\apache\jsp\news\admin\MyOffice_005findex_files\mima_jsp.java:98: 错误: 找不到符号
id=Integer.paseInt(idStr);
^
符号: 方法 paseInt(String)
位置: 类 Integ……
[/Quote]
不好意思parseInt我打错了,写成paseInt了 ,这样肯定会报错的
正确写法:
String idStr=(String)session.getAttribute("id");
int id=Integer.parseInt(idStr);
  • 打赏
  • 举报
回复
String idStr=(String)session.getAttribute("id");
int id=Integer.parseInt(idStr);
zzzttt5 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

强制转换

类型 id = (类型)session.getAttribute("id");
[/Quote]


这样id=0,不对?
zzzttt5 2012-07-13
  • 打赏
  • 举报
回复
D:\Java\Tomcat 5.0\work\Catalina\localhost\web\org\apache\jsp\news\admin\MyOffice_005findex_files\mima_jsp.java:98: 错误: 找不到符号
id=Integer.paseInt(idStr);
^
符号: 方法 paseInt(String)
位置: 类 Integer
1 个错误
zzzttt5 2012-07-13
  • 打赏
  • 举报
回复
D:\Java\Tomcat 5.0\work\Catalina\localhost\web\org\apache\jsp\news\admin\MyOffice_005findex_files\mima_jsp.java:98: 错误: 找不到符号
id=Integer.paseInt(idStr);
^
符号: 方法 paseInt(String)
位置: 类 Integer
1 个错误
五哥 2012-07-13
  • 打赏
  • 举报
回复
强制转换

类型 id = (类型)session.getAttribute("id");
senlinzhiwang 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

String idStr=(String)session.getAttribute("id");
int id=Integer.paseInt(idStr);
[/Quote]
+1

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧