2011-06-21 12 views
0

JSTLを初めて使用しています。私はデータベースの内容を取得してjspで表示する必要があります。私はこの目的のためにmvcを使用しています。私はテーブルからデータを取得し、それを型Beanクラスのarraylistに格納するサーブレットを持っています。私は、arraylistを表示するために、各jstlを使用しているjspページにarraylistを転送しています。jspでjstlを使用しているタイプBeanのarraylistを表示

Exception型この要求を満たすことを妨げるレポート

メッセージ

説明サーバが内部エラーが発生しました() - しかし、私はエラー HTTPステータス500を取得しています。

例外

org.apache.jasper.JasperExceptionが: 87: 88: 89: 90:例外がライン89

86で処理JSPページ/Retrievedata.jspを発生 91 : 92:

スタックトレース: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServletを。 Javaの:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

根本的な原因は、

javax.servlet.ServletException:javax.servlet.jsp.JspException:evalu中にエラーが発生しましたカスタムアクション属性 "value"を値 "$ {current.Title}"で検索しています:オペレータ "。"を使用してクラス "stepack.Reqbean"のオブジェクトの "Title"の値を見つけることができません。 (ヌル) org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.Retrievedata_jsp。 _jspService(Retrievedata_jsp.java:189) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper (JspServlet.java:312) ) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) stepac k.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

根本原因

javax.servlet.jsp.JspException:カスタムアクション属性 "value"を値 "$ {current.Title}"で評価中にエラーが発生しました:クラス "class"のオブジェクトの "Title" stepack.Reqbean "演算子を使用しています。" (null) org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator。java:131) org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:151) org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:97) org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(ExpressionUtil.java:70) org.apache.taglibs.standard.tag.el.core.OutTag.evaluateExpressions(OutTag.java:121) org.apache.taglibs.standard.tag.el.core.OutTag.doStartTag(OutTag.java:79) org.apache.jsp.Retrievedata_jsp._jspx_meth_c_005fout_005f0(Retrievedata_jsp.java:254) org.apache.jsp.Retrievedata_jsp ._jspx_meth_c_005fforEach_005f0(Retrievedata_jsp.java:216) org.apache.jsp.Retrievedata_jsp._jspService(Retrievedata_jsp.java:150) org.apa (JspServletWrapper.java:JspServletWrapper.java).jsper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service 377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service (HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServletを。 java:717)

note根本原因iの完全なスタックトレースApache Tomcat/6.0.29ログで利用可能です。次のように

コードは:JSPで <% @のタグライブラリプレフィックス= "C" URI = "http://java.sun.com/jstl/core" %>

サーブレット:

パブリッククラスReqServletはHttpServletを

{保護されたボイドのdoPost(HttpServletRequestのリクエスト、HttpServletResponseのRESPOを拡張NSE)ServletExceptionがは、IOException {

try 
    { 

     ArrayList<Reqbean> row = new ArrayList<Reqbean>();  ......... 
    String q="SELECT "...........; 
    Statement stmt=conn.createStatement(); 
    ResultSet res=stmt.executeQuery(q); 
    boolean report=res.next(); 
    if(report) 
    { 
    do 
    { 
    Reqbean req=new Reqbean(); 
    // Selecting values from ResultSet and storing them in Reqbean class 
    req.setId(res.getString(1)); 
    req.setTitle(res.getString(2)); 

    // adding Reqbean object to ArrayList 
    row.add(req); 
    System.out.println("adding"); 
    }while(res.next()); 
    } 
    res.close(); 
    stmt.close(); 
    conn.close(); 

     request.setAttribute("row", row); 
    } 
    catch (Exception e) 
    { 
     request.setAttribute("error", "Retrieving rows failed."); 
     e.printStackTrace(); 
    } 
    request.getRequestDispatcher("Retrievedata.jsp").forward(request, response); 
} 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{ 

} 

}

Reqbeanクラスをスロー: パブリッククラスReqbean { パブリックストリング同上。 public String Title; public void setId(String val) { this.Id = val; } public String getId() { return Id; } public void setTitle(String val) { this.Title = val; } public String getTitle() { リターンタイトル; }}

私はWEB-INF/libフォルダ にjstl.jarとstandard.jarを配置している私を助けてください.................public String title;

答えて

0

${current.Title}

${current.title}

そして、あなたのReqbeanにする必要があります(私は仮定どこかJSPです)私の答えは、その左側の 'V'をクリックしてください。ようこそstackoverflowへ:)

+0

その作業.....ありがとうたくさん – user662175

+0

こんにちは、私に感謝し、あなたが受け入れることができます: – Fortega

関連する問題