在struts1的action类中设置了String类型的变量,int类型的变量,把他们放在request中,在jsp页面获取的时候object类型装换位int类型,(Integer)request.getAttribute("")没错,但是同样的方式转换String类型的变量的时候,报了异常

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer,很奇怪request.getAttribute("xx")返回object类型,怎么会报这样的异常呢?

最后只能把String类型变量转化为int类型,然后才设置request中。

代码:

Java代码  
  1. public ActionForward listjob(ActionMapping mapping, ActionForm form,
  2. HttpServletRequest request, HttpServletResponse response)
  3. throws Exception {
  4. //jobFormbean job=(jobFormbean)form;
  5. DbManager dbmgr=new DbManager();
  6. String  orgid=request.getParameter("orgid");
  7. //分页代码开始
  8. String page = request.getParameter("curpage");
  9. String countsql="select count(*) from ln_job where orgid='"+orgid+"'";
  10. int rowcount=dbmgr.rowscount(countsql);
  11. if (page == null) {
  12. page = "1";
  13. }
  14. if (page.equals("") || page.equals("0")) {
  15. page = "1";
  16. }
  17. PageManager pmg = new PageManager();
  18. pmg.setrowsPerPage(15);
  19. pmg.setpagenum(Integer.parseInt(page));
  20. pmg.setmaxRowCount(rowcount);
  21. int rowsStart = pmg.getrowsStart();
  22. int rowsEnd = pmg.getrowsEnd();
  23. int maxPage = pmg.getmaxPage();
  24. int nextpage = pmg.getnextpage(Integer.parseInt(page));
  25. //分页代码结束
  26. String sql="select * from (select jobid,jobname,orgid,row_number() over(order by jobid asc) rn from ln_job where orgid='"+orgid+"' ) where  rn>="+rowsStart+" and rn<="+rowsEnd;
  27. System.out.println(sql);
  28. //System.out.println(sql);
  29. rs=dbmgr.getQuery(sql);
  30. List<Job> list=new ArrayList<Job>();
  31. while(rs.next()){
  32. Job og=new Job();
  33. og.setJobid(rs.getInt("jobid"));
  34. og.setJobname(rs.getString("jobname"));
  35. og.setOrgid(rs.getString("orgid"));
  36. list.add(og);
  37. }
  38. sql="select orgname from ln_org where orgid='"+orgid+"'order by orgid asc";
  39. rs=dbmgr.getQuery(sql);
  40. String orgname="";
  41. while(rs.next()){
  42. orgname=rs.getString(1);
  43. }
  44. request.setAttribute("currentPage", Integer.parseInt(page));
  45. request.setAttribute("nextpage", nextpage);
  46. request.setAttribute("maxPage", maxPage);
  47. request.setAttribute("list", list);
  48. request.setAttribute("orgid",orgid);
  49. request.setAttribute("orgname",orgname);
  50. return mapping.findForward("list");
  51. }

struts-config.xml中配置

写道
<action path="/user/manage/job" name="JobFormbean" scope="request" type="com.hkr.ly.action.job.JobManage" parameter="method"> 
<forward name="list" path="/dtynwebmain/job/joblist.jsp"/> 
</action>

在joblist.jsp页面中

Java代码  
  1. <%
  2. int nextpage=(Integer)request.getAttribute("nextpage");
  3. int maxPage=(Integer)request.getAttribute("maxPage");
  4. int currentPage=(Integer)request.getAttribute("currentPage");
  5. int fontpage=0;
  6. if(currentPage>1){
  7. fontpage=currentPage-1;
  8. }
  9. %>

总结:

String转换为int类型的方法:

1. Integer.parseInt([String])

2.Integer.valueOf([String]).intValue();

3.Integer.decode([String]):将 String 解码为 Integer。接受通过以下语法给出的十进制、十六进制和八进制数字

例如:

int a=Integer.decode("0144"); //八进制转换结果为100

int b=Integer.decode("123");//十进制转换结果为123

int c=Integer.decode("0x123");//16进制转换结果为291

注:Integer.decode([String])加负号也可以转换,不过字符串不能有空格。否则报NumberFormatException异常

注: 字串转成 Double, Float, Long 的方法大同小异.

int转换为String类型方法:

1.String s = String.valueOf(i);
2.String s = Integer.toString(i);
3. String s = "" + i;
不常用的:
1.Integer. toBinaryString (int i) :以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
2.Integer. toHexString (int i) :以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
3.Integer. toOctalString (int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
注: Double, Float, Long 转成字串的方法大同小异.

object类型转换为int类型:

1.如果object是byte,short,int,char类型生成的,那么不用转换直接赋值就ok了。

2.如果object是字符串类型生成的,先把object转换为String类型的,再把String类型转换为int类型。

例如.

String myInt="123";
Object os=myInt;

int b=Integer.parseInt((String)os);//还可以os.toString()

3.如果object是float,double,long类型生成的,思路和上面一样,先把object转换为相应的数据类型,然后再转换为int类型。

Java object类型转换为int类型相关推荐

  1. java中long类型转换为int类型

    由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参考: 一.强制类型转换 [java] l ...

  2. java把string转换为int_java如何把String类型转换为int类型

    在java中,实现String类型转换为int类型的方法有:Integer.parseInt(String)方法.Integer.valueOf(String)方法. 本篇文章就给大家介绍java把S ...

  3. java把string转int类型_java把String类型转换为int类型的方法

    java把String类型转换为int类型的方法 发布时间:2020-08-20 14:32:03 来源:亿速云 阅读:73 作者:小新 这篇文章将为大家详细讲解有关java把String类型转换为i ...

  4. java string 转换 int_java如何把String类型转换为int类型

    在java中,实现String类型转换为int类型的方法有:Integer.parseInt(String)方法.Integer.valueOf(String)方法. 本篇文章就给大家介绍java把S ...

  5. C++中的string类型转换为int类型

    今天遇见了一个题,感觉这个题很常见,所以就把它写下来,下次遇见感觉不太熟练的话,继续复习一下. 这个题比较简单,很容易做出来,但是这个题主要有一个关键点,那就是类型转化,主要是我按照自己的思路来写的方 ...

  6. 关于object对象转换为int类型

    注意:不能强制转换!!! Object a; int b = Integer.parseInt(String.valueOf(a)); 转载于:https://www.cnblogs.com/xww1 ...

  7. java把含小数点的数字字符串转换为int类型

    String num ="1.00"; int abc =Double.valueOf(num).intValue();//转换为Int类型 转载于:https://www.cnb ...

  8. Java中如何将int 类型转换为 Long类型

    Long l = (Long)3; 1 很多同学可能会用上面的方法将int类型转换为Long类型,但事实上这样是不可行的.因为Long是包装类,而int是值类型数据,两者是不能这样强转的. long ...

  9. Java byte类型转换成int类型时需要 0XFF的原因

    Java byte类型转换成int类型时需要 & 0XFF的原因 假设有byte b  = -1; 那么b的二进制是:1111 1111. 如果将b直接转换为int类型,那么二进制是 1111 ...

最新文章

  1. 何谓服务器托管服务?
  2. R语言plotly可视化:plotly可视化基本散点图(指定图像类型、模式)、plotly可视化散点图(为不同分组数据配置不同的色彩)、ggplotly使用plotly包呈现ggplot2的可视化结果
  3. 数据库服务器 之 在Linux下使用perl通过unixODBC连接SQLServer2000
  4. Vue CLI3 基本使用配置;
  5. 计算机应用基础的客观题,计算机应用基础专题库客观题参考答案11
  6. webstorm使用gitee_webstorm 中 git 基本操作
  7. 1.4.2 solr字段类型--(1.4.2.4)使用Dates(日期)
  8. java正则匹配并提取字串
  9. SylixOS Makefile 源代码解析
  10. SetTimer函数
  11. 电线的一些小知识学习一下
  12. Android 自定义View(一)实现时钟表盘效果
  13. python中if not是什么意思_python中if not x: 和 if x is not None: 和 if not x is None的使用和区别...
  14. bzoj1776[Usaco2010 Hol]cowpol 奶牛政坛
  15. 如何使用PS将图片中的类千图网的字眼去掉
  16. 您真的会用百度吗?(百度搜索技巧-超详细)
  17. 简述同步和异步的区别
  18. 【Javascript】shift、unshift、pop、push的区别
  19. Linux-重命名命令rename
  20. 企业搜索凸现围城效应

热门文章

  1. android刷步工具,位移精灵1.51(安卓10刷步数)
  2. 国内代码托管中心-码云、自建代码托管平台-GitLab
  3. 免费ARP(gratuitousARP)
  4. Unity-点击屏幕进行移动
  5. 《Python深度学习》第一部分读书笔记
  6. python 直方图均衡化
  7. Java入门基础教程第一篇
  8. 数据服务 开源方案技术选型
  9. 公比为无理数的等比数列的近似表示
  10. BUUCTF-[HCTF 2018]admin1