Index: lams_tool_forum/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r0762d2ed47bda6daf6a2ae4eca9b3409b7c3b3ea -raafe5d45599dbc368a2b719ac0160fb95f932fe2 --- lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 0762d2ed47bda6daf6a2ae4eca9b3409b7c3b3ea) +++ lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision aafe5d45599dbc368a2b719ac0160fb95f932fe2) @@ -377,7 +377,7 @@ validate="false" parameter="updateMark" > - + messageList = forumService.getMessagesByUserUid(user.getUid(), sessionId); Map> topicMap = new TreeMap(this.new ForumUserComparator()); topicMap.put(user, messageList); request.setAttribute(ForumConstants.ATTR_REPORT, topicMap); //listMark or listAllMark. return mapping.findForward("success"); + } else { //mark from view forum - return mapping.findForward("viewTopic"); + //display root topic rather than leaf one + Long rootTopicId = forumService.getRootTopicId(msg.getUid()); + + ForwardConfig redirectConfig = mapping.findForwardConfig("viewTopic"); + ActionRedirect redirect = new ActionRedirect(redirectConfig); + redirect.addParameter(ForumConstants.ATTR_SESSION_MAP_ID, markForm.getSessionMapID()); + redirect.addParameter(ForumConstants.ATTR_USER, user); + redirect.addParameter(ForumConstants.ATTR_TOPIC_ID, rootTopicId); + return redirect; } }