What happens when you use a s:property to evaluate diagnosisDTO.primaryDiagnosis? If you do not get a value, then check to make sure the path is right or that something is not wrong in your action that is populating it. Also verify that the key property in your list is the same type as the value being set, both Integer for example.
On Apr 1, 2017 7:38 PM, Kiran Kongala <kirankongal...@gmail.com> wrote: Hi, I am trying to use the Struts2 s:select tag but the drop down value coming from the db is not being set to the drop down as selected value and the screen always shows the default first value in the list. Can some one please help me. *JSP Code* <s:select name="diagnosisDTO.primaryDiagnosis" list="primaryDiagnosisTypes" listKey="dstLookupTypeId" listValue="lookupValue" multiple="false" headerKey="-1" headerValue="Please Select" size="1"/> *Action Class Code* *I have Disease Tracking as a Model object and inside that model I have DiagnosisDTO object where I have properties which are matched to the jsp select tag above* *This is the Model Object defined in the Action Class public DiseaseTracking getModel() { return this.diseasetracking; }* *DiseaseTracking Object with DiagnosisDTO property below * *private DiagnosisDTO diagnosisDTO; public DiagnosisDTO getDiagnosisDTO() { return diagnosisDTO; } public void setDiagnosisDTO(DiagnosisDTO diagnosisDTO) { this.diagnosisDTO = diagnosisDTO; }* *DiagnosisDTO Object with property **primaryDiagnosis **and getter and setter* * private int primaryDiagnosis; public int getPrimaryDiagnosis() { return primaryDiagnosis; }* * public void setPrimaryDiagnosis(int primaryDiagnosis) { this.primaryDiagnosis = primaryDiagnosis; }* *This method is a service call to get the disease tracking object* * public String getHepC() throws Exception { List allDstLookupTypes = GenCache.getListOfDstLookupType(user.getCurrentClientId()); setPrimaryDiagnosisTypes(this.getSpecificDstLookupTypes(Constants.DST_LOOKUP_GRP_CODE_ID_PRD, allDstLookupTypes)); DiseaseTrackingDelegate dstDelegate = new DiseaseTrackingDelegate(); int dstId = 20000048; //The below is the service call to db which will get the disease tracking object with some lists objects. diseasetracking = dstDelegate.getDSTById(user.getCurrentClientId(), dstId, null); //the below is the code to convert the list returned from service to another object Diagnosis DTO and set that back to Disease Tracking model object convertDiagnosisListToDiagnosisDTO(diseasetracking.getAlDstLookup()); return "success"; } public List<DstLookupType> getSpecificDstLookupTypes(String grpLookupTypeId, List<DstLookupType> allDstLookupTypes){ List<DstLookupType> lookupTypes = new ArrayList<DstLookupType>(); for(int i=0; i < allDstLookupTypes.size();i++) { if( allDstLookupTypes.get(i).getDstLookupGrpCodeId().equals(grpLookupTypeId)){ lookupTypes.add(allDstLookupTypes.get(i)); } } return lookupTypes;}* * public void convertDiagnosisListToDiagnosisDTO(List<DSTLookupDTO> alDstLookup) throws CpsEntException { DiagnosisDTO dt = null; try { if(alDstLookup != null && alDstLookup.size() != 0) { dt = new DiagnosisDTO(); for (final DSTLookupDTO dstLookup : alDstLookup) { if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_PRD)) { dt.setPdDstLookupId(dstLookup.getDstLookupId()); //dt.setPrimaryDiagnosis(dstLookup.getDstLookupTypeId()); diseasetracking.setPrimaryDiagnosis(dstLookup.getDstLookupTypeId()); dt.setPdDstSubModuleRowId(dstLookup.getDstSubModuleRowId()); dt.setOtherPrimaryDiagnosis(dstLookup.getOtherValue()); } else if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_GNT)) { dt.setGenoTypeDstLookupId(dstLookup.getDstLookupId()); dt.setGenoType(dstLookup.getDstLookupTypeId()); dt.setGenoTypeDstSubModuleRowId(dstLookup.getDstSubModuleRowId()); dt.setOtherGenoType(dstLookup.getOtherValue()); } else if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_GNT2)) { dt.setGenoType2DstLookupId(dstLookup.getDstLookupId()); dt.setGenoType2(dstLookup.getDstLookupTypeId()); dt.setGenoType2DstSubModuleRowId(dstLookup.getDstSubModuleRowId()); dt.setOtherGenoType2(dstLookup.getOtherValue()); } else if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_HVC)) { dt.setHivDstLookupId(dstLookup.getDstLookupId()); dt.setHivCoinfection(dstLookup.getDstLookupTypeId()); dt.setHivDstSubModuleRowId(dstLookup.getDstSubModuleRowId()); } else if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_RNI)) { dt.setRenalDstLookupId(dstLookup.getDstLookupId()); dt.setRenalImpairment(dstLookup.getDstLookupTypeId()); dt.setRenalDstSubModuleRowId(dstLookup.getDstSubModuleRowId()); dt.setOtherRenalImpairment(dstLookup.getOtherValue()); } else if(dstLookup.getDstLookupGrpCodeId().equals(Constants.DST_LOOKUP_GRP_CODE_ID_SPLT)) { dt.setPostLiverDstLookupId(dstLookup.getDstLookupId()); dt.setPostLiverTransplant(dstLookup.getDstLookupTypeId()); dt.setPostLiverDstSubModuleRowId(dstLookup.getDstSubModuleRowId()); } } } } catch (Exception e) { e.printStackTrace(); throw new CpsEntException(e.getMessage()); } diseasetracking.setDiagnosisDTO(dt); } * Thanks Disclaimer: This communication and any files transmitted with it may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this communication in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you.