Seems like you have it down. Why is it kind of? It is only a really type conversion issue if you need to reconstruct the graph of Map>Bean>List from a string posted from a web page.
mahanare wrote: > > kind of got a fix. > > here is my jsp content. > > <tr> > <s:iterator value="columnLabels" var="label"> > <th><s:property value='label' /></th> > </s:iterator> > </tr> > <s:iterator value="results" var="auditViewBean" > > > <tr> > <s:iterator value="propertyList" var="auditProperty"> > <s:set var="keyName" value="key"></s:set> > <s:iterator value="columnLabels" var="label1"> > > <s:if test= "%{#label1== #keyName}" > > <td><s:property value="value.newValue" /></td> > </s:if> > </s:iterator> > </s:iterator> > > </tr> > </s:iterator> > > > > > mahanare wrote: >> >> Hi, I need help in resolving type conversion issue in struts 2. >> >> Here is my problem definition. >> >> I have a structs 2 action class called AuditTrailAction. >> Here is the class definition. It contains a List<AuditView> I have given >> my AuditView bean definition below. >> >> Action contains a List which intern contains a bean containing a Map of >> another bean. >> >> I need to display this data into a tabular structure in jsp page. >> >> List<AuditView>, each AuditView bean contains Map<Auditproperty> and >> AuditProperty bean contains couple of properties. >> >> for each AuditView bean in the list, I need to iterate through all the >> AuditProperty beans and display their properties into a row (html table >> row). >> >> I have been spending time whole day today with no luck. it looks like >> there is some type conversion issue here. I went through >> http://struts.apache.org/2.x/docs/type-conversion.html, but not getting a >> solution for my scenario which looks little complex. >> >> Please help me! >> Thanks >> harinath >> >> >> >> public class AuditTrailAction extends ActionSupport implements >> RequestAware { >> private List<AuditView> results; >> private int pageSize = 20; >> private int page; >> private AuditLogDao auditLog; >> private Map request; >> private String entity; >> private String pk; >> private List<String> columnLabels; >> >> public List<String> getColumnLabels() { >> return columnLabels; >> } >> >> public void setColumnLabels(List<String> columnLabels) { >> this.columnLabels = columnLabels; >> } >> >> public int getPage() { >> return page; >> } >> >> public void setPage(int page) { >> this.page = page; >> } >> >> public String getEntity() { >> return entity; >> } >> >> public void setEntity(String entity) { >> this.entity = entity; >> } >> >> public String getPk() { >> return pk; >> } >> >> public void setPk(String pk) { >> this.pk = pk; >> } >> >> public void setAuditLog(AuditLogDao auditLog) { >> this.auditLog = auditLog; >> } >> >> public List<AuditView> getResults() { >> return results; >> } >> >> public void setResults(List<AuditView> results) { >> this.results = results; >> } >> >> public String execute() { >> >> try { >> results = auditLog.getAuditTrialView(page, pageSize, >> entity, pk); >> columnLabels = new ArrayList<String>(); >> >> if (results != null && results.size() != 0) { >> AuditView view = results.get(0); >> Map<String, AuditProperty> mapProperties = >> view.getPropertyList(); >> Set<String> properties = mapProperties.keySet(); >> for (String prop : properties) { >> columnLabels.add(prop); >> } >> } >> } catch (AuditException e) { >> e.printStackTrace(); >> } catch (Exception e) { >> e.printStackTrace(); >> } >> >> /* >> * try { >> * >> * results =auditLog.getAuditTrialInfo(page, pageSize); // >> * request.put("results", results); } catch (AuditException e) >> { // >> TODO >> * Auto-generated catch block e.printStackTrace(); } >> */ >> return SUCCESS; >> >> } >> >> public void setRequest(Map<String, Object> request) { >> // TODO Auto-generated method stub >> this.request = request; >> } >> >> } >> >> >> >> @SuppressWarnings("serial") >> public class AuditView implements Serializable { >> >> private Map<String,AuditProperty> propertyList;// = new >> ArrayList<AuditProperty>(); >> >> public Map<String, AuditProperty> getPropertyList() { >> if(propertyList ==null) >> { >> propertyList = new HashMap<String, AuditProperty>(); >> } >> return propertyList; >> } >> >> public void setPropertyList(Map<String, AuditProperty> propertyList) { >> this.propertyList = propertyList; >> } >> >> } >> >> And AuditProperty bean >> >> */ >> @SuppressWarnings("serial") >> public class AuditProperty implements Serializable { >> >> private static final Log logger = >> LogFactory.getLog(AuditProperty.class); >> private String oldValue; >> private String newValue; >> private boolean updateFlag; >> >> >> >> public boolean isUpdateFlag() { >> return updateFlag; >> } >> public void setUpdateFlag(boolean updateFlag) { >> this.updateFlag = updateFlag; >> } >> public String getOldValue() { >> return oldValue; >> >> } >> public void setOldValue(String oldValue) { >> this.oldValue = oldValue; >> } >> public String getNewValue() { >> return newValue; >> } >> public void setNewValue(String newValue) { >> this.newValue = newValue; >> } >> public String toString() >> { >> String value= oldValue + " : " + newValue + " : " + updateFlag; >> logger.debug(value); >> return value; >> } >> > > -- View this message in context: http://www.nabble.com/Struts-2-Type-conversion-tp22700624p22713820.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org