Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка на JSP странице (Only a type can be import), Only a type can be imported. 
:(
    Опции темы
AnikinAlexey
Дата 17.2.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



Написал пару классов, хочу использовать их на jsp странице. Проект билдится без ошшибок. При этом, когда обращаюсь к jsp-странице вываливается ошибка 
Код

org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
Only a type can be imported. Poll.User resolves to a package

Generated servlet error:
Only a type can be imported. Poll.poll resolves to a package

An error occurred at line: 4 in the jsp file: /untitled1/index.jsp
Generated servlet error:
User cannot be resolved or is not a type

An error occurred at line: 4 in the jsp file: /untitled1/index.jsp
Generated servlet error:
User cannot be resolved or is not a type

An error occurred at line: 14 in the jsp file: /untitled1/index.jsp
Generated servlet error:
poll cannot be resolved or is not a type

An error occurred at line: 14 in the jsp file: /untitled1/index.jsp
Generated servlet error:
poll cannot be resolved or is not a type



Код

<%@ page contentType="text/html;charset=UTF-8" language="java"  import="Poll.User,Poll.poll"%>

<%
    int pollCnt = 10;
    User CurUser = new User();
%>
<html>
  <head><title>The polling list</title></head>
  <body>
    <table>
        <tr><td>Name of the polling </td>

            <%
                poll CurPoll = new poll(CurUser,1);
                CurPoll.WriteCommon(out);
            %>

        </tr>
    </table>
  </body>
</html>

Код

package Poll;

/**
 * Created by IntelliJ IDEA.
 * Poll.User: Администратор
 * Date: 16.02.2001
 * Time: 22:11:41
 * To change this template use File | Settings | File Templates.
 */
public class User {
    public static int ADMIN=1;
    public static int OTHER=2;

    private String Name;
    private int Age;
    private boolean Sex;
    private String Edu;
    private String Gain;
    private int state;

    public void setName(String inName){
        Name=inName;
    }
    public void setAge(int inAge){
        Age=inAge;
    }
    public void setSex(boolean inSex){
        Sex=inSex;
    }
    public void setEdu(String inEdu){
        Edu=inEdu;
    }
    public void setGain(String inGain){
        Gain=inGain;
    }
    public void setState(int inState){
        state=inState;
    }

    public String getName(){
          return Name;
      }
    public int getAge(){
          return Age;
      }
    public boolean getSex(){
          return Sex;
      }
    public String getEdu(){
          return Edu;
      }
    public String getGain(){
          return Gain;
      }
    public int getState(){
          return state;
      }

    public User(){//default constructor
     }

    public User(String inName,String inPassword){
     }

}


Код

package Poll;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;

/**
 * Created by IntelliJ IDEA.
 * Poll.User: Администратор
 * Date: 16.02.2001
 * Time: 22:11:28
 * To change this template use File | Settings | File Templates.
 */
public class poll {
    private String [] Users;
    private String [] Guestions;
    private int[][] Results;
    private boolean State;
    private User curUser;
    private int id;
    private String  Name;

    public poll(User inUser,int id){
        curUser=inUser;
        this.id = id;
    }
    boolean Save(){
         return true;
    }
    boolean Delete(){
         return true;
    }

    public void addGuestion(String Guestion){

    }
    public void removeGuestion(int Numder){
    }
    public void getYes(int Numder){

    }
    public void getNo(int Numder){

    }
    public void getDoNotKnow(int Numder){

    }
    public void setState(boolean inState){
        State=inState;
    }
    public boolean getState(){
        return State;
    }

    public void setName(String inName){
        Name=inName;
    }
    public String getName(){
        return Name;
    }

    public void WriteCommon(JspWriter out){
        try {
            out.println("йцуйцуйцуйцу");
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
}



При подключении стандартных пакетов все нормально.

Поискал в гугле, там только совет переставить кота - переставлял раз 5, не помогло  smile 

У меня по этому поводу только один вариант - jsp компилится в сервлет, который при исполнении не видит мой пакет. Только как и где прописать путь к нему я не знаю  smile 
PM MAIL   Вверх
Tony
Дата 17.2.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



<%@ page contentType="text/html;charset=UTF-8" language="java"  import="Poll.User.Poll.poll"%>


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
AnikinAlexey
Дата 17.2.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



Tony, Там всмысле 2 класса импортятся )

Код

import="Poll.User"
import="Poll.poll"


можно писать раздельно, можно черес запятую. Сути это не меняет, ошибка остается smile
PM MAIL   Вверх
y3u
Дата 17.2.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: 7
Всего: 13



все непонятки подобного рода происходят обычно по банальным причинам. Потому как, кое кто тупо не хочет следовать Java Code Conventions... 
пакеты надо именовать прописными буквами и по неким правилам, имя класса долно быть CamelCase  и начинаться с заглавной буквы, а переменные тоже camelCase, но с маленькой буквы. Ты используешь в JSP POJO, которые тоже должны удовлетворять неким простым правилам. Просто в JSP контейнере активно используется reflection... Для на чала приведи код в порядок, если проблема останется - будем смотрет дальше


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
Tony
Дата 17.2.2007, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Цитата(AnikinAlexey @ 17.2.2007,  23:07)
Tony, Там всмысле 2 класса импортятся )

Код

import="Poll.User"
import="Poll.poll"


можно писать раздельно, можно черес запятую. Сути это не меняет, ошибка остается smile

a я подумал пакет  smile

Добавлено @ 23:18 
Цитата(y3u @ 17.2.2007,  23:13)
все непонятки подобного рода происходят обычно по банальным причинам. Потому как, кое кто тупо не хочет следовать Java Code Conventions... 
пакеты надо именовать прописными буквами и по неким правилам, имя класса долно быть CamelCase  и начинаться с заглавной буквы, а переменные тоже camelCase, но с маленькой буквы. Ты используешь в JSP POJO, которые тоже должны удовлетворять неким простым правилам. Просто в JSP контейнере активно используется reflection... Для на чала приведи код в порядок, если проблема останется - будем смотрет дальше

Согласен имена кривые.

Добавлено @ 23:19 
Конструктор писать не льзя было(это только для <jsp:useBean)
Попробуй использовать <jsp:useBean ...

Это сообщение отредактировал(а) Tony - 17.2.2007, 23:26


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
AnikinAlexey
Дата 17.2.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



поправил в соответствии с этим http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
ошибки остались  smile 
Код

<%@ page contentType="text/html;charset=UTF-8" language="java"  import="pack.User"%>

<%
    User curUser = new User();
%>
<html>
  <head><title>The polling list</title></head>
  <body>
    <table>
        <tr><td>Name of the polling </td>
        </tr>
    </table>
  </body>
</html>

Код

package pack;
public class User {
    public String name;
    public User(){//default constructor
     }
}


Код

org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
Only a type can be imported. pack.User resolves to a package

An error occurred at line: 4 in the jsp file: /untitled1/index.jsp
Generated servlet error:
User cannot be resolved or is not a type

An error occurred at line: 4 in the jsp file: /untitled1/index.jsp
Generated servlet error:
User cannot be resolved or is not a type
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



Цитата(Tony @  17.2.2007,  23:17 Найти цитируемый пост)
Конструктор писать не льзя было(это только для <jsp:useBean)

А как объекты то создавать без конструктора? 


Это сообщение отредактировал(а) AnikinAlexey - 17.2.2007, 23:55
PM MAIL   Вверх
y3u
Дата 18.2.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: 7
Всего: 13



Цитата(AnikinAlexey @  17.2.2007,  23:54 Найти цитируемый пост)
А как объекты то создавать без конструктора? 


Инстанс бина создаст контейнер. Используй <jsp:useBean


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
Tony
Дата 18.2.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



<jsp:useBean beanName="" type="" scope=""/>
Обэкт создастся и имея методы getXXX i setXXX ты можеш редактировать обэкт(property)

Это сообщение отредактировал(а) Tony - 18.2.2007, 00:17


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.