tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
777
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    HI

    Ich habe eine Kleine Web Anwendung zur Übung Geschrieben, nun bin ich dabei alles von JSP mit Java Code zu JSP mit JSTL umzustellen.

    Mein Katalog meines kleinen Buchshops funktioniert soweit mit JSTL nur wenn ich nun vom Katalog zum Warenkorb Wechsel findet das JSP die Java Methoden nicht

    Mein Warenkorb.jsp
    HTML-Code:
    <jsp:useBean id="warenkorb" scope="session" class="model.Warenkorb" />
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1" import="model.*,java.text.DecimalFormat"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <%@page import="controler.ControllerAction"%><html
    	xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Warenkorb.jsp</title>
    </head>
    <body>
    
    
    <%@ include file="/view/Banner.jsp"%>
    
    <c:set var="warenkorb" value="${sessionScope.warenkorb}"/>
    <em>Es befinden sich <c:out value="${warenkorb.anzahlbuecher}"></c:out> Elemente im Warenkorb.</em>
    
    <br />
    <br />
    
    <table>
    	<tr>
    		<th colspan="4">Warenkorb</th>
    	</tr>
    	
    	<c:forEach items="${warenkorb.warenkorbelemente}" var="element">
    	<tr>
    		<td>
    		
    			${element.anzahl}
    		x</td>
    		<td>
    		
    			${element.buch.autor}
    		
    		</td>
    		<td><a
    			href="Controller?action=<%=ControllerAction.BUCH_ANZEIGEN.getAction()%>&isbn=
    						${element.buch.isbn}">
    		
    			${element.buch.buch}
    		 </a></td>
    		<td>
    			${element.gesamtpreis}
    		 &euro;</td>
    		<td><a
    			href="Controller?action=<%=ControllerAction.BUCH_HERAUSNEHMEN.getAction()%>&isbn=${element.buch.isbn}">
    		Buch l&ouml;schen </a></td>
    	</tr>
    	
    	</c:forEach>
    
    
    	<tr>
    		<td colspan="3"><strong>Gesamtpreis</strong></td>
    		<td>
    		
    			${warenkorb.gesamtpreis})
    		 &euro;</td>
    	</tr>
    
    </table>
    
    <a href="Controller?action=<%=ControllerAction.KATALOG_ANZEIGEN.getAction()%>"> &laquo;
    zurück zum Katalog </a>
    
    <a href="Controller?action=<%=ControllerAction.BUCH_BESTELLEN.getAction()%>"> Bücher
    bestellen &rarr; </a>
    
    </body>
    </html>
    Mein Controller
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    
    package controler;
     
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import model.Buch;
    import model.Katalog;
    import model.Warenkorb;
     
    /**
     * Servlet implementation class BuchladenServlet
     */
    public class Controller extends HttpServlet {
        /**
         * 
         */
        private static final long serialVersionUID = 58268476537320082L;
     
        public static String KATALOG = "web.model.Katalog";
        public static String WAHRENKORB = "web.model.Warenkorb";
     
        private Katalog katalog;
        private Warenkorb warenkorb;
        private Buch buch;
        private RequestDispatcher requestDispatcher;
        private HttpSession httpSession;
        private HttpServletRequest request;
        private HttpServletResponse response;
        private ServletContext context;
     
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Controller() {
            super();
        }
     
        public void init() {
     
        }
     
        public void destroy() {
     
        }
     
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            this.request = request;
            this.response = response;
     
            this.httpSession = this.request.getSession();
     
            this.context = getServletContext();
     
            this.warenkorb = (Warenkorb) this.httpSession.getAttribute("warenkorb");
            if (warenkorb == null) {
                this.warenkorb = new Warenkorb();
                this.httpSession.setAttribute("warenkorb", warenkorb);
            }
     
            this.katalog = (Katalog) this.context.getAttribute("katalog");
            if (katalog == null) {
                this.katalog = Katalog.erzeuge();
                this.context.setAttribute("katalog", katalog);
            }
     
            String actionParameter = request.getParameter("action");
            ControllerAction action = getAction(actionParameter);
     
            String isbn = request.getParameter("isbn");
     
            switch (action) {
            case KATALOG_ANZEIGEN:
            default:
                katalogAnzeigen();
                break;
            case BUCH_ANZEIGEN:
                zeigeBuchInfoAn(isbn);
                break;
            case BUCH_HINZUFUEGEN:
                fuegeBuchinWarenkorbHinzu(isbn);
                break;
            case BUCH_HERAUSNEHMEN:
                nehmeBuchAusWarenkorbHeraus(isbn);
                break;
            case WARENKORB_ANZEIGEN:
                warenkorbAnzeigen();
                break;
            case BUCH_BESTELLEN:
                bestellungabschicken();
                break;
            }
     
        }
     
        private void bestellungabschicken() throws ServletException, IOException {
            request.setAttribute("warenkorbElemente", warenkorb
                    .getWarenkorbElemente());
     
            forwardTo("/Bestellen");
            
        }
     
        /**
         * @throws IOException
         * @throws ServletException
         * 
         */
        private void katalogAnzeigen() throws ServletException, IOException {
            request.setAttribute("katalogBuecher", katalog.getAlleBuecher());
     
            forwardTo("/Katalog");
        }
     
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
        }
     
        private void zeigeBuchInfoAn(String isbn) throws ServletException, IOException {
            buch = katalog.getBuchInfo(isbn);
            request.setAttribute("buch", buch);
     
            forwardTo("/Buch");
        }
     
        private void fuegeBuchinWarenkorbHinzu(String isbn)
                throws ServletException, IOException {
            buch = katalog.getBuchInfo(isbn);
            warenkorb.setWarenkorbElement(buch.getIsbn(), buch);
            httpSession.setAttribute("warenkorb", warenkorb);
            request.setAttribute("buch", buch);
            request.setAttribute("katalogBuecher", katalog.getAlleBuecher());
     
            forwardTo("/Katalog");
     
        }
     
        private void nehmeBuchAusWarenkorbHeraus(String isbn)
                throws ServletException, IOException {
            buch = katalog.getBuchInfo(isbn);
            warenkorb.loescheWarenkorbElement(buch.getIsbn());
            httpSession.setAttribute("warenkorb", warenkorb);
            request.setAttribute("warenkorbElemente", warenkorb
                    .getWarenkorbElemente());
     
            forwardTo("/Warenkorb");
     
        }
     
        private void warenkorbAnzeigen() throws ServletException, IOException {
            httpSession.setAttribute("warenkorb", warenkorb);
            request.setAttribute("warenkorbElemente", warenkorb.getWarenkorbElemente());
     
            forwardTo("/Warenkorb");
        }
     
        private void forwardTo(String url) throws ServletException, IOException {
            requestDispatcher = context.getRequestDispatcher(url);
            requestDispatcher.forward(request, response);
        }
     
        /**
         * @param actionParameter
         * @return
         */
        private ControllerAction getAction(String actionParameter) {
            ControllerAction action = ControllerAction.KATALOG_ANZEIGEN;;
     
            if (actionParameter != null)
                for (ControllerAction act : ControllerAction.values()) {
                    if (act.getAction().equals(actionParameter)){
                        action = act;
                        break;
    //                  action = ControllerAction.valueOf(actionParameter);
                        
                    }
                }
     
            return action;
        }
     
    }
    ich weiß mein Warenkorb kommt mindestens bis zum Controller. Fehler sind wenn entweder Zwischen Controller oder direckt im JSP

    der StackTrace verräht mir das im JSP zeile 20 der Fehler ist. Das Property welches nicht gefunden wird ist eine Methode aus der Java Klasse Warenkorb, was aber nicht sein kann da vorher alles funktionierte erst bei der umstellung von Java zu JSTL im JSP funktioniert es nicht mehr.

    die Java Klasse Warenkorb spare ich mir vorerst da ich vermute das das Warenkorb Objekt nicht ordnugsgemäß übergeben wird. Aber ich weiß nicht was ich falsch mache
     

  2. #2
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    ..es wäre schön, wenn uns der StackTrace auch was verraten würde!
     

  3. #3
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    Öm ja bei Web Anwendungen sprich JSP ist der auch so aussage kräftig
    Der Stack Trace sagt es gibt die Methode nicht, aber sie ist Existent vor der JSTL Umstellung hat alles Funktioniert!


    Browser StackTrace
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    
    type Exception report
     
    message 
     
    description The server encountered an internal error () that prevented it from fulfilling this request.
     
    exception 
     
    org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'anzahlbuecher' not found on type model.Warenkorb
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        controler.Controller.forwardTo(Controller.java:174)
        controler.Controller.warenkorbAnzeigen(Controller.java:169)
        controler.Controller.doGet(Controller.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     
     
    root cause 
     
    javax.el.PropertyNotFoundException: Property 'anzahlbuecher' not found on type model.Warenkorb
        javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
        javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
        javax.el.BeanELResolver.property(BeanELResolver.java:279)
        javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
        javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
        org.apache.el.parser.AstValue.getValue(AstValue.java:118)
        org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
        org.apache.jsp.view.Warenkorb_jsp._jspx_meth_c_005fout_005f0(Warenkorb_jsp.java:260)
        org.apache.jsp.view.Warenkorb_jsp._jspService(Warenkorb_jsp.java:107)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        controler.Controller.forwardTo(Controller.java:174)
        controler.Controller.warenkorbAnzeigen(Controller.java:169)
        controler.Controller.doGet(Controller.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    Java Stack Trace
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    
    javax.el.PropertyNotFoundException: Property 'anzahlbuecher' not found on type model.Warenkorb
        at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
        at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
        at javax.el.BeanELResolver.property(BeanELResolver.java:279)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
        at org.apache.jsp.view.Warenkorb_jsp._jspx_meth_c_005fout_005f0(Warenkorb_jsp.java:260)
        at org.apache.jsp.view.Warenkorb_jsp._jspService(Warenkorb_jsp.java:107)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at controler.Controller.forwardTo(Controller.java:174)
        at controler.Controller.warenkorbAnzeigen(Controller.java:169)
        at controler.Controller.doGet(Controller.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        at java.lang.Thread.run(Thread.java:619)
    08.04.2010 09:55:03 org.apache.catalina.core.StandardWrapperValve invoke
    SCHWERWIEGEND: Servlet.service() for servlet Controller threw exception
    javax.el.PropertyNotFoundException: Property 'anzahlbuecher' not found on type model.Warenkorb
        at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
        at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
        at javax.el.BeanELResolver.property(BeanELResolver.java:279)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
        at org.apache.jsp.view.Warenkorb_jsp._jspx_meth_c_005fout_005f0(Warenkorb_jsp.java:260)
        at org.apache.jsp.view.Warenkorb_jsp._jspService(Warenkorb_jsp.java:107)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at controler.Controller.forwardTo(Controller.java:174)
        at controler.Controller.warenkorbAnzeigen(Controller.java:169)
        at controler.Controller.doGet(Controller.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        at java.lang.Thread.run(Thread.java:619)
     

  4. #4
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    Ich finde den StackTrace absolut aussagekräftig! Dort steht doch ganz genau, das es keine Methode getAnzahlbuecher() in der Klasse Warenkorb gibt!
    Wenn der Rest funktioniert, kannst du ja auch sowas schreiben:
    Code java:
    1
    2
    
     
    <em>Es befinden sich ${fn:length(warenkorb.warenkorbelemente)} Elemente im Warenkorb.</em>

    Dazu mußt du aber die JSTL Functions einbinden.

    Grüße
    Peter
     

  5. #5
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    Danke für deine Antwort
    Zitat Zitat von pizza1234 Beitrag anzeigen
    Ich finde den StackTrace absolut aussagekräftig! Dort steht doch ganz genau, das es keine Methode getAnzahlbuecher() in der Klasse Warenkorb gibt!
    Was meinst du warum der Stack Trace meiner Meinug nach e ist? Genau, weil er mir sagt das eine Methode die Existiert nicht da ist

    Eine Methode die nicht da sein soll, aber bereits genutzt wurde! Sie Existiert und sie gibt mit ein Integer zurück, der einfach nur ausgegeben werden soll.
    Warum sollte ich also so
    ]
    Zitat Zitat von pizza1234 Beitrag anzeigen
    Wenn der Rest funktioniert, kannst du ja auch sowas schreiben:
    Code java:
    1
    2
    
     
    <em>Es befinden sich ${fn:length(warenkorb.warenkorbelemente)} Elemente im Warenkorb.</em>

    Dazu mußt du aber die JSTL Functions einbinden.

    Grüße
    Peter
    den wert ermitteln? Der sowieso nicht der Wahrheit entsprechen kann. Denn in jedem Element steckt die Anzahl wie oft das Element im Warenkorb liegt.

    Im warenkorb liegt nur ein Generisches Element welches sich aus einem Element und der Anzahl gleicher Elemente besteht. Daher halte ich mir ja gerade hinter der Methode getAnzahlBuecher() die Summe aller Elemente
     

  6. #6
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    ...dann poste doch mal die ganze Klasse Warenkorb. So wird das hier doch nur ein Rästelraten.
     

  7. #7
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    der Fehler liegt eindeutig im Warenkorb JSP!

    Ich habe ein gesamtes Projekt Funktionstüchtig, nur halt jsp mit Java Code.
    Zur Umstellung von JSP mit Java Code zu JSP ohne Java Code habe ich ein neues Projekt angelegt und sämtlichen Code aus dem alten Projekt übernommen.

    Meine Fehler suche habe ich soweit abgeschlossen, ich weiß wo der Fehler ist! Nur kapiere ich nicht warum der Fehler auftritt!

    Das Warenkorb Objekt kommt über das Bean im JSP an, kann mit java zugriff auch verwendet werden! Nur die Übergabe an JSP klappt nicht, so das es mit ${warenkorb."Methode"} nicht verwendet werden kann. <%= warenkorb."Methode"%> hingegen funktioniert wunderbar.

    Und da mir nun anscheinend nichts Übrig bleibt werde ich wenn ich mit dem warenkorb arbeite weiter in meiner jsp file bei java bleiben
     

  8. #8
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    Meinetwegen, wenn die Klasse so ein Geheimnis ist! Aber es liegt garantiert nicht an der JSTL! Was mit Scriptlets funktioniert, geht auch mit JSTL, nur wesentlich wartbarer! Übrigens schreibst du in deinem einem Post was von der Methode getAnzahlBuecher(), lt. StackTrace rufst du aber getAnzahlbuecher() auf, IMHO sind in 99% der Fälle Schreibfehler das Problem.

    Grüße
    Peter
     

  9. #9
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    Zitat Zitat von pizza1234 Beitrag anzeigen
    Meinetwegen, wenn die Klasse so ein Geheimnis ist! Aber es liegt garantiert nicht an der JSTL! Was mit Scriptlets funktioniert, geht auch mit JSTL, nur wesentlich wartbarer! Übrigens schreibst du in deinem einem Post was von der Methode getAnzahlBuecher(), lt. StackTrace rufst du aber getAnzahlbuecher() auf, IMHO sind in 99% der Fälle Schreibfehler das Problem.

    Grüße
    Peter
    Doch es lag am JSP / JSTL die Konvention wie man Methoden schreibt ist so mies Fehler gefunden und in Rechtschreibung korrigiert

    Danke
    Geändert von wakoz (08.04.10 um 15:38 Uhr)
     

Ähnliche Themen

  1. RectF property nicht zugreifbar
    Von SpongeStone im Forum .NET Windows Forms
    Antworten: 6
    Letzter Beitrag: 04.02.09, 22:26
  2. MVC Konzept Frage - JSTL Tags funktionieren nicht in Facelets/MyFaces
    Von alan79 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 15.05.08, 23:23
  3. [JSF] JSTL Tags werden nicht interpretiert
    Von Basti54 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 26
    Letzter Beitrag: 24.10.05, 18:16
  4. [JSF] Zugriff auf JSTL Werte mit nicht-<c: Tags
    Von Basti54 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 20.06.05, 10:55
  5. Antworten: 2
    Letzter Beitrag: 29.03.05, 19:14