OGNL表达式 模型驱动封装数据 获取null的问题
来源:互联网 发布:java redis作用 编辑:程序博客网 时间:2024/06/05 18:14
JavaBean: Visit类
public class Visit implements Serializable {// ...其他属性//private Long visit_cust_id;// 客户idprivate Customer customer;//private Long visit_user_id;//负责人idprivate User user;}
Customer类
public class Customer implements Serializable {// ...其他属性private String cust_name; //'客户名称(公司名称)'}
前端:
<INPUT type="text" name="customer.cust_name"/>
目的
将前端的文本框数据封装到customer对象中 Action类
public class VisitAction extends BaseAction implements ModelDriven<Visit> {private Visit visit=new Visit();@Overridepublic Visit getModel() {return visit;}public String Xxx(){ //打印 封装的数据cust_name值}}
由于驱动模型中Visit对象包含了customer对象,所以封装前端的customer.cust_name时,不需要在Action类中提供customer私有属性和set方法,否则会导致customer对象一直为null
正确做法
public class VisitAction extends BaseAction implements ModelDriven<Visit> {private Visit visit=new Visit();@Overridepublic Visit getModel() {return visit;}public String Xxx(){ //打印 封装的数据cust_name值 Customer customer=visit.getCustomer; System.out.println(customer.getCust_name);}}
或者
public class VisitAction extends BaseAction implements ModelDriven<Visit> {private Visit visit=new Visit();@Overridepublic Visit getModel() {return visit;}private Customer customer;public String Xxx(){ //打印 封装的数据cust_name值 customer=visit.getCustomer; System.out.println(customer.getCust_name);}}
错误做法
public class VisitAction extends BaseAction implements ModelDriven<Visit> {private Visit visit=new Visit();@Overridepublic Visit getModel() {return visit;}private Customer customer;public Customer getCustomer() {return customer;}public void setCustomer(Customer customer) {this.customer = customer;}public String Xxx(){ //打印 封装的数据cust_name值 // System.out.println(customer.getCust_name); //报错,空指针异常}}
public class VisitAction extends BaseAction implements ModelDriven<Visit> {private Visit visit=new Visit();@Overridepublic Visit getModel() {return visit;}private Customer customer=visit.getCustomer;public String Xxx(){ //打印 封装的数据cust_name值 // System.out.println(customer.getCust_name); //报错,空指针异常}}
1 0
- OGNL表达式 模型驱动封装数据 获取null的问题
- Struts2使用OGNL表达式封装输入数据
- Struts2属性驱动封装(了),需要使用ognl表达式
- 第31天(就业班) struts数据校验、UI标签、ognl表达式语法、数据回显、模型驱动
- mybatis的ognl表达式问题
- 7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)
- Struts2的模型驱动封装方法获取页面提交的表单数据(接收表单数据的最常用的方法)
- ognl表达式存储数据的方式
- Ognl方法使用(利用表达式语言获取数据)
- struts2_day02_12-表达式封装_13-比较表达式封装和模型驱动封装
- Struts2使用OGNL表达式封装输入数据(直接封装Map类型)
- Strus2 页面传输数据到后台(普通属性传值,模型驱动传值,域对象传值,OGNL表达式传值)
- 关于Struts2模型驱动封装的细节
- struts2_day02_09-属性封装操作_10-模型驱动封装操作_11-使用属性封装和模型驱动封装注意问题
- struts学习(四)—属性封装、模型驱动封装和表达式封装
- 模型驱动封装
- struts2的OGNL表达式
- struts2的OGNL表达式
- 一级缓存,二级缓存,分布式缓存和页面缓存
- Unity3d UGUI 自适应屏幕 代码修改Left,Top,Right,Bottom属性值
- ubuntu16.04安装ibus中文输入法
- OpenGL -- glutReshapeFunc glViewport
- raw or sparse ext4 image
- OGNL表达式 模型驱动封装数据 获取null的问题
- java网络编程之TFTP(二)
- putty 中文乱码解决方法
- Android开发之浅谈OOM
- Spark之Scala学习之路(一)
- c函数实现将一个整数转为任意进制的字符串输出
- illegal text-relocation错误解决
- jdk源码分析红黑树——插入篇
- Hadoop是什么