各位我想将我的代码改成另一个形式 请问该怎么改呢?源代码public ActionForward browseMemberFeed(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ActionForward forward = null;
MemService memService = new MemServiceImpl();
FeedService feedService = new FeedServiceImpl();
        List feedList = new ArrayList();
Map row = new HashMap();
try{
//判断会员是否已成功登录
Member mem = (Member)request.getSession().getAttribute("member");
if(mem==null){
forward = mapping.findForward("memSorry");
}else{
int memid = mem.getId();
Member member = feedService.loadMem(memid);
Iterator it = member.getFeed().iterator();
Feed feeds = null;
while (it.hasNext()){
feeds = (Feed)it.next();
row.put("feed.name", feeds.getName().trim());
row.put("feed.url", feeds.getUrl().trim());
feedList.add(row);
feedList.add(0,"a");
System.out.println("Name:"+feeds.getName());
System.out.println("Url:"+feeds.getUrl());

}
if (feedList!=null&&feedList.size()>0)request.setAttribute("feedList", feedList);
}
}catch(Exception ex){
logger.info("在执行MemAction类中的browseMemberFeed方法时出错:\n");
ex.printStackTrace();
}
return mapping.findForward("browseMemberFeed");
}
我想将它写成下面这样的形式public ActionForward browseFeed(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List feedList = null;
FeedService service = new FeedServiceImpl();
int pageNo = 1; //页号
int pageSize = 6; //每页记录数
int totals = 0; //记录总数
int totalPages = 0; //总页数
if (request.getParameter("pageNo")!=null)pageNo = Integer.parseInt(request.getParameter("pageNo"));
try{
feedList = service.browseFeed(pageSize, pageNo);
totals = service.countFeed();
if (feedList!=null&&feedList.size()>0)request.setAttribute("feedList", feedList);
//设置总记录数、总页数、当前页号
totalPages = totals / pageSize;
if ((totals % pageSize)>0) totalPages++; 
request.setAttribute("totals",new Integer(totals).toString());
request.setAttribute("totalPages",new Integer(totalPages).toString());
request.setAttribute("pageNo",new Integer(pageNo).toString());
}catch(Exception ex){
logger.info("在执行MemAction类中的browseFeed方法时出错:\n");
ex.printStackTrace();
}
return mapping.findForward("browseFeed");
}
/** 分页浏览所有Feed */
public List browseFeed(int pageSize, int pageNo) throws Exception {
Session session = MySessionFactory.getSession();
Transaction tx = null;
List list = null;
try{
Query query = session.createQuery("from Feed as a order by a.id desc");
query.setMaxResults(pageSize);
query.setFirstResult((pageNo-1)*pageSize);
tx = session.beginTransaction();
list = query.list();
tx.commit();
if (!Hibernate.isInitialized(list))Hibernate.initialize(list);
}catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info("在执行FeedServiceImpl类中的browseFeed方法时出错:\n");
ex.printStackTrace();
}finally{
MySessionFactory.closeSession();
}
return list;
}曾经执行到 row.put("feed.name", feeds.getName().trim()); 出过错:
2008-05-30 20:37:19 [日志信息] 在执行MemAction类中的browseMemberFeed方法时出错:
java.lang.NullPointerException
at com.feelergo.struts.action.MemAction.browseMemberFeed(MemAction.java:207)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)上网查了查后将
List feedList = null;
Map row = null;
改成
List feedList = new ArrayList();
Map row = new HashMap();
问题解决 不过不知道会不会有其它问题。