?? forumcontent_thread.jsp
字號:
<td width="99%"> <% if (isRootMessage) { %> <b><%= (subject!=null)?subject:"" %></b> <br> <% } else { %> <font size="-1"> <b><%= (subject!=null)?subject:"" %></b> <br> </font> <% } %> <font size="-1"> <% if (author != null) { %> Posted By: <a href="userProfile.jsp?user=<%= author.getID() %>" ><%= author.getUsername() %></a> <% } else { %> Posted By: <i>Guest</i> <% } %> on <%= SkinUtils.formatDate(request,pageUser,theMessage.getCreationDate()) %> </font> </td> <td width="1%" nowrap> <table cellpadding="2" cellspacing="0" border="0"> <tr><td> <a href="forumContent_edit.jsp?forum=<%= forumID %>&thread=<%= theMessage.getForumThread().getID() %>&message=<%= theMessage.getID() %>" title="Click to edit the contents of this message" ><img src="images/button_edit.gif" width="17" height="17" border="0" ></a> </td><td> <font size="-1"> <a href="forumContent_edit.jsp?forum=<%= forumID %>&thread=<%= theMessage.getForumThread().getID() %>&message=<%= theMessage.getID() %>" title="Click to edit the contents of this message" >Edit</a> </font> </td> <td> </td> <td> <a href="forumContent_delete.jsp?forum=<%= forumID %>&thread=<%= theMessage.getForumThread().getID() %>&message=<%= theMessage.getID() %>" title="Click to delete this message and its replies..." ><img src="images/button_delete.gif" width="17" height="17" border="0" ></a> </td><td> <font size="-1"> <a href="forumContent_delete.jsp?forum=<%= forumID %>&thread=<%= theMessage.getForumThread().getID() %>&message=<%= theMessage.getID() %>" title="Click to delete this message and its replies..." >Delete</a> </font> </td> </tr> </table> </td> </tr> </table> </td></tr><tr bgcolor="#ffffff"> <td> <font size="-1"> <%= theMessage.getBody() %> </font> </td></tr></table></td></tr></table><br><% if (isRootMessage && numReplies > 0) { %> <font size="-1"><b>Replies:</b> (<%= numReplies %> total)</font><p><% } %><% } %><% if (numPages > 1) { %><font size="-1"><%= getThreadPaginator(forumID, threadID, numMessages, numReplies, numPages, start, range) %></font><% } %><br><table cellpadding="0" cellspacing="2" border="0" width="100%" align="center"><tr><td colspan="3"><img src="images/blank.gif" width="1" height="5" border="0"></td></tr><tr> <td width="1%" nowrap><% if (threadIterator != null && threadIterator.hasPrevious()) { ForumThread prevThread = (ForumThread)threadIterator.previous(); // advance the iterator pointer back to the original index if (threadIterator.hasNext()) { threadIterator.next(); } String subj = StringUtils.escapeHTMLTags(prevThread.getRootMessage().getUnfilteredSubject()); // Replace any " in the subject subj = StringUtils.replace(subj, "\"", """);%> <a href="forumContent_thread.jsp?forum=<%= forumID %>&thread=<%= prevThread.getID() %>&tstart=<%=threadStart %>&trange=<%= threadRange %>" title="Thread: <%= subj %>"><img src="images/prev.gif" width="10" height="10" hspace="2" alt="Thread: <%= subj %>" border="0"></a> <font size="-1"> <a href="forumContent_thread.jsp?forum=<%= forumID %>&thread=<%= prevThread.getID() %>&tstart=<%=threadStart %>&trange=<%= threadRange %>" title="Thread: <%= subj %>">Previous Thread</a> </font><% } else { %> <% } %> </td> <td width="98%" align="center"> <font size="-1"><a href="forumContent.jsp?forum=<%= forumID %>">Back To Thread List</a></font> </td> <td width="1%" nowrap><% if (threadIterator != null && threadIterator.hasNext()) { ForumThread nextThread = (ForumThread)threadIterator.next(); // reverse the iterator pointer back to the original index threadIterator.previous(); String subj = StringUtils.escapeHTMLTags(nextThread.getRootMessage().getUnfilteredSubject()); // Replace any " in the subject subj = StringUtils.replace(subj, "\"", """);%> <font size="-1"> <a href="forumContent_thread.jsp?forum=<%= forumID %>&thread=<%= nextThread.getID() %>&tstart=<%=threadStart %>&trange=<%= threadRange %>" title="Thread: <%= subj %>">Next Thread</a> </font> <a href="forumContent_thread.jsp?forum=<%= forumID %>&thread=<%= nextThread.getID() %>&tstart=<%=threadStart %>&trange=<%= threadRange %>" title="Thread: <%= subj %>"><img src="images/next.gif" width="10" height="10" hspace="2" alt="Thread: <%= subj %>" border="0"></a><% } else { %> <% } %> </td></tr></table><p><%@ include file="footer.jsp" %><%! // Global methods // Prints out a group of links to paginate through message listings, ie: // "This topic has X replies on Y pages [ 1 .. 7 8 9 .. 33 | > ]" private static String getThreadPaginator(long forumID, long threadID, int numMessages, int numReplies, int numPages, int start, int range) { StringBuffer buf = new StringBuffer(); buf.append("<b>").append(range).append("</b> messages per page, "); buf.append("<b>").append(numPages).append("</b> "); if (numPages == 1) { buf.append("page "); } else { buf.append("pages "); } buf.append("in this thread."); // Only show the pages if there is greater than one page if (numPages > 1) { // "[" buf.append(" [ "); // Print out a "<<" if necessary if (start > 0) { buf.append("<a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&start=").append(start-range); buf.append("&range=").append(range); buf.append("\" title=\"Previous Page\"><img src=\"images/prev.gif\" width=\"10\" height=\"10\" hspace=\"2\" border=\"0\"></a> "); } int currentPage = (start/range)+1; int lo = currentPage - 3; if (lo <= 0) { lo = 1; } int hi = currentPage + 5; // Add a link back to the first page if (lo > 1) { buf.append("<a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&range=").append(range); buf.append("\" title=\"Back to first page\">"); buf.append("1").append("</a> <b>...</b> "); } // Print out low page numbers while (lo < currentPage) { buf.append("<a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&start=").append((lo-1)*range); buf.append("&range=").append(range); buf.append("\"><b>"); buf.append(lo).append("</b></a> "); lo++; } // Current page buf.append("<b>"); buf.append(currentPage); buf.append("</b>"); // Print out high page numbers while ((currentPage < hi) && (currentPage<numPages)) { buf.append(" <a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&start=").append((currentPage)*range); buf.append("&range=").append(range).append("\"><b>"); buf.append(currentPage+1).append("</b></a>"); currentPage++; } // put ending page at the end, ie: " 2 3 4 ... 33" if (numPages > currentPage) { buf.append(" <b>...</b> <a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&start=").append((numPages-1)*range); buf.append("&range=").append(range); buf.append("\">"); buf.append(numPages).append("</a> "); } if (numMessages > (start+range)) { int numRemaining = (int)(numMessages-(start+range)); buf.append(" <a href=\"forumContent_thread.jsp?forum=").append(forumID); buf.append("&thread=").append(threadID); buf.append("&start=").append(start+range); buf.append("&range=").append(range).append("\""); buf.append(" title=\"Next page\"><img src=\"images/next.gif\" width=\"10\" height=\"10\" hspace=\"2\" border=\"0\"></a>"); } // "]" buf.append(" ] "); } return buf.toString(); }%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -