2016-05-12 14 views
0

Ich bin Anfänger von Java-Web-Projekt ein Versuch herauszufinden, was die Ausnahme javax.servlet.jsp.JspException: Cannot find bean: "wlist" in any scope verursacht. Jede Hilfe wird geschätzt.Kann Bean nicht finden: "wlist" in jedem Bereich

Ausnahme trat in:

</ul> 

<div class="index_news clearfix"> 
<logic:iterate id="w" type="com.wxkm.data.model.Tsubj" name="wlist"> 
    <dl class="news_dl clearfix"> 
     <dt> 
      <logic:notEmpty name="w" property="npic"> 
      <a href="../../p/showsub/${w.id }.html" ><img src="../../resources/report/${w.npic }" width="150" height="110"></a> 
      </logic:notEmpty> 
      <logic:empty name="w" property="npic"> 
      <a href="../../p/showsub/${w.id }.html" ><img src="../../resources/img/default.jpg" width="150" height="110"></a> 
      </logic:empty> 
     </dt> 
     <dd> 
      <h2><a href="../../p/showsub/${w.id }.html" ><%String ntitle=w.getNtitle();ntitle=ntitle==null?"":ntitle;if(ntitle.length()>23){out.print(ntitle.substring(0,23)+"...");}else{out.print(ntitle);} %></a></h2> 
      <p><a href="../../p/showsub/${w.id }.html">${w.ndigest }...</a></p> 
     </dd> 
    </dl> 
</logic:iterate>  

    </div> 

Tsubj Klasse:

package com.wxkm.data.model; 

public class Tsubj { 
    private int id; 
    private String ntitle; 
    private String npic; 
    private String ndigest; 
    private int ntype; 
    private String ndate; 
    private String sflag; 

    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getNdate() { 
     return ndate; 
    } 
    public void setNdate(String ndate) { 
     this.ndate = ndate; 
    } 
    public String getNdigest() { 
     return ndigest; 
    } 
    public void setNdigest(String ndigest) { 
     this.ndigest = ndigest; 
    } 
    public String getNpic() { 
     return npic; 
    } 
    public void setNpic(String npic) { 
     this.npic = npic; 
    } 
    public String getNtitle() { 
     return ntitle; 
    } 
    public void setNtitle(String ntitle) { 
     this.ntitle = ntitle; 
    } 
    public int getNtype() { 
     return ntype; 
    } 
    public void setNtype(int ntype) { 
     this.ntype = ntype; 
    } 
    public String getSflag() { 
     return sflag; 
    } 
    public void setSflag(String sflag) { 
     this.sflag = sflag; 
    } 
} 

Aktionslinie in struts-config:

<action path="/p/show/showm" type="com.wxkm.struts.action.showm" scope="request"> 
    <forward name="suc" path="/pages/hpage/showm.jsp"/> 
    <forward name="failed" path="/p/hpage/toLogOut.do" redirect="true"/> 
</action> 

Action-Klasse, die wlist (showm.java) holt:

package com.wxkm.struts.action; 

import java.util.List; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.struts.action.Action; 
import org.apache.struts.action.ActionForm; 
import org.apache.struts.action.ActionForward; 
import org.apache.struts.action.ActionMapping; 

import com.wxkm.data.impl.TlogImpl; 
import com.wxkm.data.impl.TsubjImpl; 
import com.wxkm.data.impl.WcontImpl; 
import com.wxkm.data.model.Tsubj; 
import com.wxkm.data.model.Wcont; 
import com.wxkm.res.GlobalProperty; 

public class showm extends Action { 

    /* forward name="suc" path="/pages/hpage/showm.jsp" */ 
    private final static String SUC = "suc"; 

    /* forward name="failed" path="/p/hpage/toLogOut.do" */ 
    private final static String FAILED = "failed"; 

    public ActionForward execute(ActionMapping mapping, ActionForm form, 
      HttpServletRequest request, HttpServletResponse response) 
      throws Exception { 
     // TODO process request and return an ActionForward instance, for example: 
     // return mapping.findForward(SUC); 

     //List<Wcont> wlist=WcontImpl.getInstance().getWcontListByMid(0, "0",0); 
     List<Tsubj> wlist=TsubjImpl.getInstance().getTsubjList("0",1,4); 
     request.setAttribute("wlist", wlist); 

     //金融 
     List<Wcont> wlist1=WcontImpl.getInstance().getWcontListByMid(27,"0",1,GlobalProperty.RowNum8); 
     request.setAttribute("wlist1", wlist1); 

//  房地产 
     List<Wcont> wlist2=WcontImpl.getInstance().getWcontListByMid(28,"0",1,GlobalProperty.RowNum8); 
     request.setAttribute("wlist2", wlist2); 

//  房产基金 
     List<Wcont> wlist3=WcontImpl.getInstance().getWcontListByMid(29,"0",1,GlobalProperty.RowNum8); 
     request.setAttribute("wlist3", wlist3); 

//  交通基建 
     List<Wcont> wlist4=WcontImpl.getInstance().getWcontListByMid(30,"0",1,GlobalProperty.RowNum8); 
     request.setAttribute("wlist4", wlist4); 

//  X产业 
     List<Wcont> wlist5=WcontImpl.getInstance().getWcontListByMid(31,"0",1,GlobalProperty.RowNum8); 
     request.setAttribute("wlist5", wlist5); 

//  添加浏览记录 
     TlogImpl.getInstance().settLog(request, "浏览了首页",""); 

     return mapping.findForward(SUC); 
    } 

} 

showm.jsp

<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> 
<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%> 
<tiles:insert definition="showm"/> 
+0

Die Linie aussehen sollte '' ist, wo die Ausnahme aufgetreten ist. – MZ4Frost

+0

ist das Streben? – Leo

+0

@Leo ja, das ist Tippfehler. Ich werde es reparieren. – MZ4Frost

Antwort

0

Umfang Zusätzlich zu den <logic:iterate> helfen könnte. es so etwas wie

<logic:iterate id="w" type="com.wxkm.data.model.Tsubj" name="wlist" scope="request">