web页面展示表单中,常见的一种情况是,表单字段在后台存储一个数据代码,前端页面需要显示为代码对应的名称(可能为中文名称)的情况。这样情况的处理方法,我以java应用为例,例子场景为一个员工,属性中有状态,是一个代码、名称的名值对,介绍如下:
1.建立数据库mapping对应的实体bean类,如Employee.java
public class Employee { String id;// String name;//姓名 String state;//状态 String stateName;//状态名称,此处另外申明一个名称的属性,用来存储代码对应的名称,用于页面的显示,数据库实体中这个属性可以不存在 //此处申明状态代码的常量 public static final String STATE_JOBIN="jobin";//在职 public static final String STATE_RETIRE="retire";//退休 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getState() { return state; } public void setState(String state) {//此处set方法,将状态名称写入,用于页面显示的名称 if(STATE_JOBIN.equals(name)){ stateName="在职"; }else if(STATE_RETIRE.equals(name)){ stateName="退休"; } this.state = state; } @Transient public String getStateName() {//此处只有get方法,set方法已经通过setState方法替代写入了,这里在外部调用get方法就可以了。 return stateName; } } |
2.页面中调用,以struts标签写入如下:
....
状态:<s:property value="employee.stateName"/>
最后结果页面中显示的就是状态的中文名称。