第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java中為實(shí)體對(duì)象的動(dòng)態(tài)屬性賦值

java中為實(shí)體對(duì)象的動(dòng)態(tài)屬性賦值

子衿沉夜 2018-07-22 07:08:23
例如: User 對(duì)象中有100個(gè)屬性,從jsp頁(yè)面?zhèn)鬟^(guò)來(lái)的參數(shù)對(duì)應(yīng)了其中的某一個(gè)屬性,根據(jù)User中的set方法為具體的屬性賦值。怎么樣根據(jù)set方法或者其他的方法為對(duì)應(yīng)的不確定的屬性賦值!  public class User{   private String field1;    private String field2;    private String field3;    private String field4;    private String field5;    private String field6;    private String field7;    private String field8;    private String field9;    private String field10;    private String field11;    private String field12;    private String field13;    private String field14;    private String field15;    private String field16;    private String field17;    private String field18;    private String field19;    private String field20;  ..//get、set方法省略  } String param = request.getParameter(" field ? "); 其中? 根據(jù)json返回的數(shù)據(jù)自動(dòng)生成的文本框,獲取到的屬性名稱,對(duì)應(yīng)了User中的具體某個(gè)屬性。比如:?為1,則獲取到field1 的值,然后將其賦值給User。如何解決以上,為User多個(gè)屬性動(dòng)態(tài)賦值。
查看完整描述

3 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

下面是User類(lèi):

import java.lang.reflect.Field;import java.util.HashMap;import java.util.Map;public class User {    private Map<String, String> map = new HashMap<String, String>();    

    
    public boolean contains(String key) {
        Class<FieldString> fieldClass = User.FieldString.class;
        Field[] fields = fieldClass.getFields();        for (Field f : fields) {            if (key.equals(f.getName())) {                return true;
            }
        }        
        return false;
    }    
    public void putParam(String key, String value) {
        map.put(key, value);
    }    
    public String getParam(String key) {        return map.get(key);
    }    
    private class FieldString {        public String field1;        public String field2;        public String field3;        public String fiels4;
    }
    
}

進(jìn)行測(cè)試:

public class Test {    public static void main(String[] args) {
        String key = "field1";
        String value = "hello";
        User user = new User();        
        if(user.contains(key)) {
            user.putParam(key, value);
        }
        
        System.out.println(user.getParam(key));
    }
}


查看完整回答
反對(duì) 回復(fù) 2018-07-23
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

這個(gè)很顯然得利用Java反射來(lái)解決了。

setValue(Class beanClass,HttpServeltRequest request){

Object user=beanClass.newInstance();

Field[] fields=bean.getDeclaredFields();

for(int i=0; i<i.length; i++){

field.setValue(user,request.getParameter(fileds[i].getName));

}

return user;

}


查看完整回答
反對(duì) 回復(fù) 2018-07-23
  • 3 回答
  • 0 關(guān)注
  • 2530 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)