Foros del Web » Programación para mayores de 30 ;) » Java »

Error de novato con JSF

Estas en el tema de Error de novato con JSF en el foro de Java en Foros del Web. Hola gente, me compre un libro "Beginning JSP, JSF And tomcat Java WEB por Giulio Zambon edicion 2012 http://www.amazon.com/Beginning-JSP-...rds=jsf+giulio Estoy trabajando con los ejemplos del ...
  #1 (permalink)  
Antiguo 13/01/2015, 19:16
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Error de novato con JSF

Hola gente, me compre un libro "Beginning JSP, JSF And tomcat Java WEB por Giulio Zambon edicion 2012

http://www.amazon.com/Beginning-JSP-...rds=jsf+giulio

Estoy trabajando con los ejemplos del libro y en un capitulo el autor da paso a paso un sistema de carrito de compras que si bien no es apropiado para produccion lo que trata es de hacernos familiarizarnos con la mecanica de JSF.

El tema es que cuando ejecuto la pagina me da este error:

Cita:
rg.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6199: Generated servlet error:
source value 1.5 is obsolete and will be removed in a future release

PWC6199: Generated servlet error:
target value 1.5 is obsolete and will be removed in a future release

PWC6199: Generated servlet error:
To suppress warnings about obsolete options, use -Xlint:-options.

PWC6197: An error occurred at line: 66 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
incompatible types: java.lang.Object cannot be converted to ebookshop.Book

PWC6199: Generated servlet error:
/index_jsp.java uses or overrides a deprecated API.

PWC6199: Generated servlet error:
Recompile with -Xlint:deprecation for details.

PWC6199: Generated servlet error:
/index_jsp.java uses unchecked or unsafe operations.

PWC6199: Generated servlet error:
Recompile with -Xlint:unchecked for details.

Me fijo en index.jsp y el netbeans me marca este problema

Book aBook = shoplist.elementAt(i); ERROR> INCOPATIBLE TYPES OBJETCS CANNOT BE CONVERTED TO BOOKS

mi codigo es

Código:
page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@page trimDirectiveWhitespaces="true" %>
<%@page session="true" import="java.util.Vector, ebookshop.Book" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>E-bookshop</title>
        <style type="text/css">
            body {background-color: gray; font-size: 10pt;}
            H1 {font-size: 20 pt;}
            table {background-color: white;}
        </style>   
    </head>
    <body>
        <h1>BookShop Online</h1>
        
        <hr/><p/>
        <% //Scriptlet 1: chekeamos si la lista de libros esta inicializada
            Vector <Book> booklist = (Vector<Book>)session.getValue("ebookshop.list");
            if (booklist == null){
                response.sendRedirect("/ebookshop");
                
            }
            else {
            %>
            <form name="addForm" action="eshop" method="post">
                
                <input type="hidden" name="do_this" value="add">
                Book: 
                <select name="book">
                    <% //Scriptlet 2: copiar la lista al combobox
                for (int i =0; i < booklist.size(); i++){
                    out.println("<option>" + booklist.elementAt(i) + "</option>");
                    
                }
                
                %>
                    
                    
                </select>
               
                Quantity: <input type="text" name="qty" size="3" value="1">
                <input type="submit" value="add">
                
                
            </form> <p/>
            
            <% //Scriptlet 3: nos fijamos si el carrito esta vacio
                Vector shoplist = (Vector<Book>)session.getAttribute("ebookshop.cart");
                if (shoplist !=null && shoplist.size() > 0){
                 %>   
                    
                
                
                <table border="1" cellpadding="2">
                    <tr>
                        <td>Titulo</td>
                        <td>Precio</td>
                        <td>Cantidad</td>
                        <td></td>
                    </tr>
                            
            <% //Scriptlet 4: muestra los libros en el carrito
               
                for (int i =0; i < shoplist.size(); i++){
                   Book aBook =  shoplist.elementAt(i);
                    
                 
                    %>
                <tr>
                    <form name="removeForm" action="eshop" method="post">
                        <input type="hidden" name="position" value="<%=i%>">
                        <input type="hidden" name="do_this" value="remove">
                        <td><%=aBook.getTitle()%></td>
                        <td align="right">$<%=aBook.getPrice()%></td>
                        
                        <td><input type="submit" value="Remove from cart"</td>
                    </form>    
                </tr>
                <%
}   
         %>
    </table></p>
    <form name="checkoutForm" action="eshop" method="post">
        
        <input type="hidden" name="do_this" value="checkout">
        <input type="submit" value="Checkout">
    </form>
    <%
            }
            }
            %>
        
    </body>
</html>
Me preocupa un poco que quizas sea un problema del libro, que este desactualizado pero bueno, pense que como era de 2012 no esra tan viejo
  #2 (permalink)  
Antiguo 13/01/2015, 21:39
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Error de novato con JSF

Hola,

Posiblemente,

Cita:
Iniciado por Hyemin Ver Mensaje
... lo que trata es de hacernos familiarizarnos con la mecanica de JSF. ...
Técnicamente, en todo lo que has mostrado no hay nada específico de JSF, básicamente todo el código es JSP. Aunque es cierto que puedes mezclar los dos, en este caso en mi opinión personal, solo veo JSP. Y para ser sincero un poco obsoleta, ni siquiera incluye JSTL para hacer las iteraciones (los ciclos). Aunque posiblemente el libro sea muy completo e incluya todo al final, como nunca lo he leído no podría afirmar nada.

Cita:
Iniciado por Hyemin Ver Mensaje
... Book aBook = shoplist.elementAt(i); ERROR> INCOPATIBLE TYPES OBJETCS CANNOT BE CONVERTED TO BOOKS
...
<% //Scriptlet 4: muestra los libros en el carrito

for (int i =0; i < shoplist.size(); i++){
Book aBook = shoplist.elementAt(i);


%>
...
El problema es que en el Vector shoplist, no hay un objeto de tipo Book sino cualquier otra cosa, pero no es posible saber que hay dentro del Vector sin que muestres el código del servlet eshop.

Ahora bien a simple vista pareciera que en el Vector booklist hay una lista de Book, pero en el Vector shoplist hay otra cosa que no son Book puesto que tienes un Quantity, seguramente (posiblemente) es otro objeto que asocia un Book con una cantidad. Pero sin ver el servlet eshop creo que no es posible saberlo solamente con el código que mostraste.

Cita:
Iniciado por Hyemin Ver Mensaje
... Me preocupa un poco que quizas sea un problema del libro, que este desactualizado pero bueno, pense que como era de 2012 no esra tan viejo ...
No sé que tan viejo o nuevo sea ese libro, pero la clase Vector es bastante antigua y actualmente es preferible usar cualquier implementación de List como por ejemplo ArrayList, a menos hay exista un motivo específico por el cual necesites usarla, como la sincronización de varios hilos, etc.

Saludos,

Última edición por HackmanC; 13/01/2015 a las 21:50 Razón: posiblemente incluye todo al final

Etiquetas: jsf, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:44.