实在做不出来了,100求教高人
目的:点击“我的评论”在main.jsp中出现所有的feedback内容,
feedback表:id,uname,content,pubtime,articleid
left.jsp:
……
<tr>
<td>
<p>
<a width= "130 " href= "_______________ " target= "main "> 我的评论 </a>
</p>
</td>
</tr>
<tr>
……
showFeedbackAction.java:
package cn.com.blogonline;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ShowFeedbackAction extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
/*
* 处理 <GET> 请求方法.
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置接收信息的字符集
request.setCharacterEncoding( "UTF-8 ");
//接收浏览器端提交的信息
String articleId = request.getParameter( "articleid ");
String pageId = request.getParameter( "pageid ");
/*
* 文章编号处理
*/
HttpSession session = request.getSession(true);
DbOperatedb=new DbOperate();
int iArticleId = 0;
Article article = null;
if (articleId!=null) {
iArticleId = Integer.parseInt(articleId);
article=db.getArticle(iArticleId);
session.setAttribute(Constants.CUR_ARTICLE_KEY,article);
}
else{
article=(Article)session.getAttribute(Constants.CUR_ARTICLE_KEY);
iArticleId = article.getId();
}
/*
* 页号处理
*/
int iPageId = 0;
int pageCount = 0;
List feedBackList=db.getFeedBacks(iArticleId);
if (pageId!=null) {
iPageId = Integer.parseInt(pageId);
if (iPageId <0) iPageId = 0;
/*
* 获取总页数
*/
if (feedBackList.size()%Constants.ARTICLE_PAGE_SIZE ==0){
pageCount=feedBackList.size() / Constants.ARTICLE_PAGE_SIZE;
}
else{
pageCount=feedBackList.size() / Constants.ARTICLE_PAGE_SIZE+1;
}
if (iPageId> =pageCount) iPageId = pageCount-1;
session.setAttribute(Constants.CUR_PAGEID_KEY,new Integer(iPageId));
}
else {
Integer temp = (Integer)session.getAttribute(Constants.CUR_PAGEID_KEY);
iPageId = temp.intValue();
}
/*
* 分页显示
*/
List dispList=new ArrayList();
if ((feedBackList.size()> iPageId * Constants.ARTICLE_PAGE_SIZE )&&(iPageId> =0)){
for (int i=iPageId*Constants.ARTICLE_PAGE_SIZE;i <(iPageId+1)*Constants.ARTICLE_PAGE_SIZE;i++){
if (i <feedBackList.size()){
dispList.add(feedBackList.get(i));
}
}
}
session.setAttribute(Constants.FEEDBACK_LIST_KEY,dispList);
response.sendRedirect( "/BlogOnline/MyArticle.jsp ");
}
}
web.xml:
<servlet>
<servlet-name> ms19 </servlet-name>
<servlet-class> cn.com.blogonline.FeedbackAction </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> ms19 </servlet-name>
<url-pattern> /Feedback </url-pattern>
</servlet-mapping>
MyArticle.jsp:
……
<% Article article = (Article)session.getAttribute(Constants.CUR_ARTICLE_KEY);
List feedBackList = (List)session.getAttribute(Constants.FEEDBACK_LIST_KEY);
FeedBack feedBack = null;
Integer tpage=(Integer)session.getAttribute(Constants.CUR_PAGEID_KEY);
int pageId=tpage.intValue();
System.out.println(tpage);
%>
…………
<body>
<table width= "580 ">
<%if(feedBackList != null ){
for(int i = 0;i < feedBackList.size();i++)
{
feedBack = (FeedBack)feedBackList.get(i);
%>
<tr>
<td width=580>
<table border= "0 " width=580>
<tr>
<td width=580>
<p align= "center ">
<b> <%=feedBack.getUname()%> </b>
</p>
</td>
</tr>
<tr>
<td width=580>
<p align= "right ">
<b> <%=feedBack.getPubtime()%> </b>
</p>
</td>
</tr>
<tr>
<td width=580>
<b> <%=feedBack.getContent()%> </b>
</td>
</tr>
</table>
</td>
</tr>
<%
}
}%>
<tr>
<td width=580>
<p align= "center ">
<font color= "#999999 "> <a href= "showFeedback?pageid= <%=pageId-1%> "> 上页 </a> </font> | <a href= "showFeedback?pageid= <%=pageId+1%> "> 下页 </a> |
</p>
</td>
</tr>
</table>
</body>
</html>
[解决办法]
有什么错误信息?
[解决办法]
好,一言为定,赶紧看看
[解决办法]
小小测试了一下, 没有问题.
改动的地方有:
1. web.xml 里将FeedbackAction改成了ShowFeedbackAction
2. left.jsp 里填写的 "/BlogOnline/Feedback?articleid=1&pageid=1 "
3. MyActicle.jsp中showFeedback 改成了 Feedback, 与web.xml相匹配.
4. 增加了几个必要的类.
其它的没有动了.(我的工程名用的test2)
源码贴出来, 你再推敲推敲!
//web.xml
<?xml version= "1.0 " encoding= "UTF-8 "?>
<web-app version= "2.4 "
xmlns= "http://java.sun.com/xml/ns/j2ee "
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
<servlet>
<servlet-name> ms19 </servlet-name>
<servlet-class> cn.com.blogonline.ShowFeedbackAction </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> ms19 </servlet-name>
<url-pattern> /Feedback </url-pattern>
</servlet-mapping>
</web-app>
//left.jsp
<%@ page language= "java " import= "java.util.* " pageEncoding= "UTF-8 "%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+ ":// "+request.getServerName()+ ": "+request.getServerPort()+path+ "/ ";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<base href= " <%=basePath%> ">
</head>
<body>
This is my JSP page. <br>
<a width= "130 " href= "/test2/Feedback?articleid=1&pageid=1 "> 我的评论 </a>
</body>
</html>
//MyActicle.jsp
<%@ page language= "java " pageEncoding= "UTF-8 "%>
<jsp:directive.page import= "cn.com.blogonline.Article "/>
<jsp:directive.page import= "cn.com.blogonline.Constants "/>
<jsp:directive.page import= "java.util.List "/>
<jsp:directive.page import= "cn.com.blogonline.FeedBack "/>
<% Article article = (Article)session.getAttribute(Constants.CUR_ARTICLE_KEY);
List feedBackList = (List)session.getAttribute(Constants.FEEDBACK_LIST_KEY);
FeedBack feedBack = null;
Integer tpage=(Integer)session.getAttribute(Constants.CUR_PAGEID_KEY);
int pageId=tpage.intValue();
System.out.println(tpage);
%>
<html>
<body>
<table width= "580 ">
<%if(feedBackList != null ){
for(int i = 0;i < feedBackList.size();i++)
{
feedBack = (FeedBack)feedBackList.get(i);
%>
<tr>
<td width=580>
<table border= "0 " width=580>
<tr>
<td width=580>
<p align= "center ">
<b> <%=feedBack.getUname()%> </b>
</p>
</td>
</tr>
<tr>
<td width=580>
<p align= "right ">
<b> <%=feedBack.getPubtime()%> </b>
</p>
</td>
</tr>
<tr>
<td width=580>
<b> <%=feedBack.getContent()%> </b>
</td>
</tr>
</table>
</td>
</tr>
<%
}
}%>
<tr>
<td width=580>
<p align= "center ">
<font color= "#999999 "> <a href= "Feedback?pageid= <%=pageId-1%> "> 上页 </a> </font> | <a href= "Feedback?pageid= <%=pageId+1%> "> 下页 </a> |
</p>
</td>
</tr>
</table>
</body>
</html>
//showFeedbackAction
package cn.com.blogonline;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ShowFeedbackAction extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
/*
* 处理 <GET> 请求方法.
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置接收信息的字符集
request.setCharacterEncoding( "UTF-8 ");
//接收浏览器端提交的信息
String articleId = request.getParameter( "articleid ");
String pageId = request.getParameter( "pageid ");
/*
* 文章编号处理
*/
HttpSession session = request.getSession(true);
DbOperatedb=new DbOperate();
int iArticleId = 0;
Article article = null;
if (articleId!=null) {
iArticleId = Integer.parseInt(articleId);
article=db.getArticle(iArticleId);
session.setAttribute(Constants.CUR_ARTICLE_KEY,article);
}
else{
article=(Article)session.getAttribute(Constants.CUR_ARTICLE_KEY);
iArticleId = article.getId();
}
/*
* 页号处理
*/
int iPageId = 0;
int pageCount = 0;
List feedBackList=db.getFeedBacks(iArticleId);
if (pageId!=null) {
iPageId = Integer.parseInt(pageId);
if (iPageId <0) iPageId = 0;
/*
* 获取总页数
*/
if (feedBackList.size()%Constants.ARTICLE_PAGE_SIZE ==0){
pageCount=feedBackList.size() / Constants.ARTICLE_PAGE_SIZE;
}
else{
pageCount=feedBackList.size() / Constants.ARTICLE_PAGE_SIZE+1;
}
if (iPageId> =pageCount) iPageId = pageCount-1;
session.setAttribute(Constants.CUR_PAGEID_KEY,new Integer(iPageId));
}
else {
Integer temp = (Integer)session.getAttribute(Constants.CUR_PAGEID_KEY);
iPageId = temp.intValue();
}
/*
* 分页显示
*/
List dispList=new ArrayList();
if ((feedBackList.size()> iPageId * Constants.ARTICLE_PAGE_SIZE )&&(iPageId> =0)){
for (int i=iPageId*Constants.ARTICLE_PAGE_SIZE;i <(iPageId+1)*Constants.ARTICLE_PAGE_SIZE;i++){
if (i <feedBackList.size()){
dispList.add(feedBackList.get(i));
}
}
}
session.setAttribute(Constants.FEEDBACK_LIST_KEY,dispList);
response.sendRedirect( "/test2/MyArticle.jsp ");
}
}
[解决办法]
seavers(泪魂) 贴的是自己的东西吧,我说怎么比楼主给的还多呢
[解决办法]
呵呵,这里还是这么热闹啊