前端展示状态属性,从数据库中数字代号转换为中文解释

在项目中,为了项目高效性,在数据库中常常把一些状态属性设置为int类型。如性别男-0,女-1;如支付状态未支付-0,已支付-1,已退款-2等等。

然而在前端展示的时候,我们希望看到的是男女,支付状态的具体说明,便于我们直观了解,而不是01这些看不懂,不易理解的数字。

如何在前端展示的时候将这些数字进行转换成中文接收并显示。方法如何设计比较合理实用?下面介绍三个方法,个人觉得方法三适用性最好,最通用,代码最简洁。

方法一:

直接在前端js代码中,写一个if转换的方法,前端调用,代码简单就不多做介绍。

适用性:适用于那些需转换属性个数少,每个属性中的数字代号少的小项目。

方法二:

一般项目中会建一个枚举,便于我们区分属性数字代号的含义。此方法是在枚举中写一个转换方法,如转换订单状态

(1)在枚举中写一个根据code查找枚举的方法。

public static OrderStatusEnum getOrderStatusEnum (Integer code){
    //遍历此枚举对象中的所以枚举
    for(OrderStatusEnum orderStatusEnum : (OrderStatusEnum.values()){
        if(orderStatusEnum.getCode().equals(code)){//如果传入的code与此枚举code相同,则返回此枚举
            return orderStatusEnum;
        }
    }
    return null;
}

(2)在实体类或DTO中,进行转换。

public OrderStatusEnum getOrderStatusEnum (){
	return OrderStatusEnum.getOrderStatusEnum(orderStatus);//orderStatus为该类的一个属性
}

(3)前端展示${order.getOrderStatusEnum().getMessage()}

实用性:这样虽然解决了问题,但每多一项需要转换的属性就需要多写一次,例如订单状态和支付状态就要写2次,有点繁琐和重复。

方法三:

写一个公用的方法,返回值为泛型T。传入2个参数,一个参数为code,一个参数转换对象枚举的Class。

(1)建一个枚举的接口如CodeEnum,里面有getCode()的抽象方法。接下来每个枚举实现这个接口。

(2)写一个枚举的工具类EnumUtil,用于转换code为对应的value。

//根据code和枚举对象的Class返回对应的枚举
public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass) {
	//遍历该枚举对象类型中的所有枚举
	for(T each : enumClass.getEnumConstants()){
		if(each.getCode().equals(code)){
			return each;
		}
	}
	return null;
}

(3)在实体类或DTO中,调用这个枚举转换工具类方法。

public OrderStatusEnum getOrderStatusEnum (){
	return EnumUtil.getByCode(orderStatus, OrderStatusEnum.class);
}

    ps:需要在方法上加上注解@JsonIgnore,不然类里会多出2个属性

(4)前端展示${order.getOrderStatusEnum().getMessage()}

适用性:通用,只需要写一次,每次转换调用这个枚举转换工具类即可。






  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: ansys材料属性代号表是ansys软件用于定义材料属性的一种表格。它包含了各种材料性质如密度、弹性模量、泊松比、热膨胀系数等的数值数据,每个材料都有一个唯一的代号。通过使用材料属性代号表,用户可以方便地在ansys软件选择不同材料的性质,并将其应用于分析。 该代号表一般可以在ansys软件的材料库或者文档找到。当使用ansys进行材料分析时,用户可以通过输入材料的代号来指定所选材料的性质。例如,当需要模拟金属材料时,用户可以通过输入对应的材料代号来获取金属材料的弹性模量、泊松比等参数。这样可以大大简化了模拟过程,提高了工作效率。 ansys材料属性代号表可以根据具体的应用需求进行定制,用户可以根据需要添加、修改或删除材料属性。比如,如果用户需要使用特定的复合材料,在材料属性代号可以添加对应的复合材料的性质数据。 总之,ansys材料属性代号表是一个帮助用户管理和应用材料性质的工具,能够简化材料分析的过程。通过使用材料属性代号表,用户可以轻松选择不同材料的性质,并将其应用于ansys软件的分析模型。 ### 回答2: 在ANSYS,材料属性代号表是一个用于描述材料性质的表格,它将不同材料的特性与代号进行对应。 ANSYS软件使用代号来表示材料的性质。材料属性代号的每个代号都对应着一个材料的特定性质,如弹性模量、密度、热膨胀系数等。通过使用这些代号,用户可以在模拟非常方便地定义材料的性质。 ANSYS的材料属性代号表通常包括了多个不同材料的代号及其对应的性质数值。用户可以根据自己所使用的具体材料,在表格查找相应的代号,并将该代号应用在他们的仿真模型。 使用材料属性代号表的好处是提高了模型的可重复性和易用性。通过将材料性质以代号的方式进行定义,用户可以在不同的模型使用同一种材料时,只需在代号找到相应的代号即可,而不需要重新输入所有的性质数值。同时,当需要更换材料时,用户只需修改代号,而不需要重新查找和输入所有的材料属性值,提高了模型更换材料的灵活性。 在使用ANSYS进行仿真分析时,了解和使用材料属性代号表是非常重要的。它可以帮助用户快速而准确地定义材料性质,提高分析的效率和准确性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值