A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Struts2是一个很优秀的表现层和控制层框架,他的核心模块采用过滤器和拦截器实现,其中数据封装,我们学过普通属性封装和模型驱动封装,使用上语法和规则就不说了,这里说一个普通属性封装和模型驱动封装结合使用造成的一个bug:下面详细说一下:
实体类:
public class MyEntity{
private String name;
public void setName(String name){
  this.name=name;
}
public String getName(){
  return name;
}
}
Action类
public class TestAction extends ActionSupport implements ModleDriven<MyEntity>{
  private String name;
  private MyEntity mode=new MyEntity();
  public MyEntity getMode(){
   return mode;
}
public void setName(String name){
this.name=name;
}

public String test(){
System.out.println(mode);//打印有数据
System.out.println(name);//---打印为空null--
return "test";
}

}

页面表单:
<form action="">
<input name="name"/>
</form>
出现的问题是,上面红色字体的结果,也就是说,如果普通属性和模型驱动的实体类如果有属性名是一样的,页面提交过来的数据只会封装到模型驱动的实体对象,普通属性没有数据

4 个回复

倒序浏览
好!
回复 使用道具 举报
好好
回复 使用道具 举报
已学习,谢谢
回复 使用道具 举报
很好,很好~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马