黑马程序员技术交流社区

标题: 【广州校区】+【原创】+Struts2使用中的坑 [打印本页]

作者: 等不到彩虹的雨    时间: 2017-12-27 14:53
标题: 【广州校区】+【原创】+Struts2使用中的坑
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>
出现的问题是,上面红色字体的结果,也就是说,如果普通属性和模型驱动的实体类如果有属性名是一样的,页面提交过来的数据只会封装到模型驱动的实体对象,普通属性没有数据


作者: java愤怒小鸟    时间: 2017-12-28 16:49
好!
作者: pk_梦醒    时间: 2017-12-28 18:18
好好
作者: 帅气de路人甲    时间: 2017-12-29 09:54
已学习,谢谢
作者: ericxu1116    时间: 2017-12-29 21:17
很好,很好~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2