Created
November 30, 2011 18:20
-
-
Save UshaRani/1410125 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%-- Already existing code to retrieve the values from memberLoginHistoryMap object without converting jsonstring -- --%> | |
<div id="accordion" style="width: 850px;"> | |
<gs:iterator value="memberLoginHistoryMap"> | |
<h3><a href="#" style="padding-bottom: 0;">Date: <gs:date name="key" format="MMM-dd-yyyy"/></a></h3> | |
<table class="loginHistoryList" border="0" cellpadding="0" cellspacing="0"> | |
<thead> | |
<tr> | |
<th align="center">Member</th> | |
<th align="center">Organization</th> | |
<th align="center">Last Modified</th> | |
<th align="center">Login Time</th> | |
<th align="center">IP Address</th> | |
<th align="center">Browser Details</th> | |
</tr> | |
</thead> | |
<gs:if test="%{!value.isEmpty()}"> | |
<gs:iterator value="value" var="memberDetails"> | |
<tr> | |
<td align="center"><gs:property value="value.memberemail" /></td> | |
<td align="center"><gs:property value="value.organization.organizationname" /></td> | |
<td align="center"><gs:date name="key.lastmodified" format="MMM-dd-yyyy H:m:s" /></td> | |
<td align="center"><gs:date name="key.memberlogintime" format="MMM-dd-yyyy H:m:s" /></td> | |
<td align="center"><gs:property value="key.ipaddress" escape="false" /></td> | |
<td align="center"><gs:property value="key.browserdetails" escape="false" /></td> | |
</tr> | |
</gs:iterator> | |
</gs:if> | |
<gs:else> | |
<tr> | |
<td align="center" colspan="6">Currently there are no online users in the system</td> | |
</tr> | |
</gs:else> | |
</table> | |
</gs:iterator> | |
</div> | |
<%-- newly added lines to retrive the values from jsonString which contains memberLoginHistoryMap object --%> | |
<script type="text/javascript"> | |
<%-- Trying to get values from jsonString ,need help in retriving the values--%> | |
var memberhistorymap = jQuery.parseJSON('<gs:property value="jsonString" escapeJavaScript="true" escape="false"/>'); | |
console.log(memberhistorymaps); | |
jQuery.each(memberhistorymap, function(currentHistoryDate, memberLoginDetails) { | |
console.log(currentHistoryDate); | |
console.log(memberLoginDetails); | |
jQuery.each(memberLoginDetails,function(memberloginhistory,member){ | |
console.log(memberloginhistory.lastmodified);//in console showing undefined. | |
console.log(member); | |
}); | |
console.log("------------"); | |
}); | |
alert("hi"); | |
console.log(memberhistorymapstring); | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this is already existing code | |
for (Memberloginhistory memberloginhistoryFromDB : memberLoginHistoryListFromDB) { | |
parsedBrowserDetails = memberloginhistoryFromDB.getBrowserdetails(); | |
parsedBrowserDetails = UserAgentUtil.getBrowser(parsedBrowserDetails)[2] + " on " | |
+ UserAgentUtil.getOS(parsedBrowserDetails)[1]; | |
Member member = memberBO.getById(memberloginhistoryFromDB.getMember().getId()); | |
// Memberloginhistory object values have to retrive in jsp. | |
Memberloginhistory memberloginhistory = new Memberloginhistory(member, memberloginhistoryFromDB.getLastmodified(), memberloginhistoryFromDB.getIpaddress(), memberloginhistoryFromDB.getMemberlogintime(), | |
parsedBrowserDetails, memberloginhistoryFromDB.isOnline()); | |
if (!GSDate.isEqual(currentHistoryDate, memberloginhistory.getMemberlogintime())) { | |
if (currentHistoryDate != null) { | |
memberLoginHistoryMap.put(currentHistoryDate, memberLoginDetails); | |
} | |
currentHistoryDate = memberloginhistory.getMemberlogintime(); | |
memberLoginDetails = new TreeMap<Memberloginhistory, Member>(new Comparator<Memberloginhistory>() { | |
@Override | |
public int compare(Memberloginhistory date1, Memberloginhistory date2) { | |
if ((date1.getMemberlogintime()).before(date2.getMemberlogintime())) { | |
return 1; | |
} | |
if ((date1.getMemberlogintime()).after(date2.getMemberlogintime())) { | |
return -1; | |
} | |
return 0; | |
} | |
}); | |
} | |
memberLoginDetails.put(memberloginhistory, member); | |
} | |
memberLoginHistoryMap.put(currentHistoryDate, memberLoginDetails); | |
// existing code end. | |
// these are the lines added to convert memberLoginHistoryMap object to json string . | |
// To excute these lines action is taking more time. | |
Gson jsonResponse = new Gson(); | |
jsonString = jsonResponse.toJson(memberLoginHistoryMap); | |
// in jsp i am trying to retrive values from this jsonString | |
long actionendTime = System.currentTimeMillis(); | |
System.out.println("Time taken to execute total action" + (actionendTime - actionstartTime)); | |
return SUCCESS; | |
} | |
public String getJsonString() { | |
return jsonString; | |
} | |
public void setJsonString(String jsonString) { | |
this.jsonString = jsonString; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In https://gist.github.com/1410125#file_recentloginhistory.jsp line 43 should be >>> console.log(memberhistorymap); // notice the singular memberhist...
rest ooks file in that snippet. It would also be helpful to see the output of the different console.of output.
In https://gist.github.com/1410125#file_recent_login_history_action.java how did you verify that the json string is taking long time? I dont see you initializing the timeStart just before the "toJson" method is called. Can you give me the output of the time it takes to get to the toJson method & the time it takes after that point un till after you have set the value of "jsonString".