`
woshixushigang
  • 浏览: 562196 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

struts2的action中默认不会初始化属性,也不会实例化属性

阅读更多

编写jdbc分页时易出现的马虎。 

 

public String getMessageMethod() {
  // struts2 通过默认set get 传过来数值 默认情况下,页面传值到action时候已经将Page 初始化,此处
  // 如再加 = new Page(); 将覆盖 页面传来的数值。
  //但是如果一开始就初始化Page 之后set get 没问题。
  // page = new Page();
  //struts2 默认不会初始化类
//  int currentPage = 0;
//   try{
//   currentPage = new Integer(ServletActionContext.getRequest().getParameter("page.currPageNum"));
//   }catch(Exception e){
//   currentPage=1;
//   }
//  try {
//   page.getCurrPageNum();
//   System.out.println(page.getCurrPageNum());
//  } catch (NullPointerException e) {
//   // TODO Auto-generated catch block
//   System.out.println("处理异常,网页上仍然报空指针错误");
//  }
  // 读取src/jdbc.properties中定义的pageSize
  int pageSize = Integer.parseInt((String) (ReaderProperty
    .getReaderProperty().get("pageSize")));
  page.setPageSize(pageSize);
  // 初始化page对象相关信息
  page.init("guestbook", "id", pageSize,page.getCurrPageNum(), "", "asc");
  // 查询用户信息
  // 将相应信息放入request中
  list = bizintf.getAllMessage(page.getSQL());
  for (int i = 0; i < list.size(); i++) {
   System.out.println(list.get(i).getId());
   
  }
  return SUCCESS;
 }

 

如果在action中直接private Page page ;在方法中System.out.println(page.getCurrPageNum());

会出现空指针错误。

 

 

如果在action中直接private Page page = new Page(); 则正常。

 

 

 

如果查询数据库里全部信息并分页,此时可以有两种方案,

1、

 int currentPage = 0;
//   try{
//   currentPage = new Integer(ServletActionContext.getRequest().getParameter("page.currPageNum"));
//   }catch(Exception e){
//   currentPage=1;
//   }

 

2、就是刚才用的struts传值方式。

 

 

 

分享到:
评论

相关推荐

    Struts1与Struts2本质区别

    1 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一...Struts 2 Action可以通过初始化、设置属性、调用方法来测试。

    Struts2的工作原理和流程

    1 客户端初始化一个指向Servlet容器的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh ...

    struts2开发文档

    1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框 架的集成很有帮助...

    使用JIVE的代理模式来扩展struts+Spring+Hibernate的web框架

    第二种方法,在struts中不易实现,因为Strust的Action被Struts容器接管理,Action初始化,实例化都是由系统自动进行的.如果真的是由AOP实现,也许是一大推代码,很麻烦. 下面就讲讲第三种方法: [ 注意: 以下代码随手写的,...

    JAVA-SSH面试题

    主要对WEB框架常面试的点做了一下整理,希望可帮助到你,下面文档的部分内容 Java---SSH(MVC) 1. 谈谈你mvc的理解 ... Struts2.0 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。

    Spring面试题

    在 XML 文件中定义的 Bean 是被消极加载的,这意味在需要 bean 之前,bean 本身不会被初始化。要从 BeanFactory 检索 bean,只需调用 getBean() 方法,传入将要检索的 bean 的名称即可,如清单 2 所示。 清单 2. ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.7.3 Web应用初始化参数的配置 3.7.4 application对象应用示例 3.8 其他内置对象的应用 3.8.1 应答与请求的page对象 3.8.2 页面上下文的page Context对象 3.8.3 获取web.xml配置信息的config对象 3.8.4 获取异常...

    ssh(structs,spring,hibernate)框架中的上传下载

     我们前面已经指出Oracle的Lob字段和一般类型的字段在操作上有一个明显的区别--那就是你必须首先通过Oracle的empty_blob()/empty_clob()初始化Lob字段,然后获取该字段的引用,通过这个引用更改其值。所以要完成对...

    从J2SE到J2EE知识点介绍

    7.对象的初始化 10 8.类的封装 11 9.实例成员和类成员 13 (四).类的继承 14 1.创建子类 14 2.this引用、super引用 16 3.最终类和抽象类 18 (五).类的多态性 18 1. 方法的重载 18 2. 方法的覆盖 18 (六).接口 ...

    Java语言基础下载

    Hibernate的初始化 687 访问Hibernate的Session接口 688 Hibernate工作原理图 691 内容总结 693 独立实践 693 第三十五章: 映射继承关系 694 学习目标 694 域模型关系 695 继承关系树的每个具体类对应一个表 696 ...

    基于EXT SSI的简单树实现

    它进入web.xml,发现自己需要经历struts2这个过滤器,于是在这个过滤器里,应用把工作交给了struts,在struts配置中找到getDesc这个控制器, &lt;action name="getDesc" class="DescAction" method="getDesc"&gt; ...

    Java学习笔记-个人整理的

    {1.10.2}数组变量的初始化}{34}{subsection.1.10.2} {1.10.3}数组对象的引用}{35}{subsection.1.10.3} {1.10.4}数组对象的复制}{35}{subsection.1.10.4} {1.10.5}扩充数组对象长度}{36}{subsection.1.10.5} {...

    李兴华Java Web开发实战经典(高清版) Part2

    9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与...

    java web 视频、电子书、源码(李兴华老师出版)

    9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II ...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II ...

Global site tag (gtag.js) - Google Analytics