Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / tld и простой тег / 9 сообщений из 9, страница 1 из 1
04.12.2012, 21:23:29
    #38065148
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
Пробую сделать свой тег (использую IntelliJ)
И чтото вообще ничего непонятно об ошибке, т.е. хотелось бы самому разобратся но невижу как подойти.

Вот такая у меня структура проекта
http://img42.imageshack.us/img42/7093/18955507.png

MyTagHandler
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import java.io.IOException;

public class MyTagHandler extends TagSupport {
    public int doStartTag() {
        JspWriter out = pageContext.getOut();
        try {
            out.print("<font color='#ff0000'>***</font>");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return SKIP_BODY;
    }


}



mytaglib.tld
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="ISO-8859-1"?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">

    <tlib-version>1.0</tlib-version>
    <short-name>myshortname</short-name>

    <tag>
        <name>myTag</name>
        <tag-class>MyTagHandler</tag-class>
        <body-content>empty</body-content>
    </tag>

</taglib>



next.jsp
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<%@ taglib uri="/WEB-INF/tags/mytaglib.tld" prefix="myTagLib"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>Place your content here</body>


<title></title>

<myTagLib:myTag/>


</html>



запускаю и получаю
авторorg.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 10 in the jsp file: /next.jsp
MyTagHandler cannot be resolved to a type
7:
8: <title></title>
9:
10: <myTagLib:myTag/>
11:
12:
13: </html>


An error occurred at line: 10 in the jsp file: /next.jsp
MyTagHandler cannot be resolved to a type
7:
8: <title></title>
9:
10: <myTagLib:myTag/>
11:
12:
13: </html>


An error occurred at line: 10 in the jsp file: /next.jsp
The method get(Class<? extends Tag>) in the type TagHandlerPool is not applicable for the arguments (Class<MyTagHandler>)
7:
8: <title></title>
9:
10: <myTagLib:myTag/>
11:
12:
13: </html>


An error occurred at line: 10 in the jsp file: /next.jsp
MyTagHandler cannot be resolved to a type
7:
8: <title></title>
9:
10: <myTagLib:myTag/>
11:
12:
13: </html>


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)

сам MyTagHandler.class вижу что есть.
...
Рейтинг: 0 / 0
05.12.2012, 05:01:56
    #38065463
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
ну я какбы хотел узнать как тут что
...
Рейтинг: 0 / 0
05.12.2012, 05:17:13
    #38065467
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
p.s.

*хотел-бы
...
Рейтинг: 0 / 0
05.12.2012, 05:31:29
    #38065470
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
просто я както с логами вообще не дружу
...
Рейтинг: 0 / 0
05.12.2012, 11:44:08
    #38065829
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
ccoder,

создайте пакет для MyTagHandler.class
...
Рейтинг: 0 / 0
05.12.2012, 15:00:07
    #38066345
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
Работает, только как пратрейсить ошибку и дойти до решения по трейсу?
...
Рейтинг: 0 / 0
05.12.2012, 15:03:21
    #38066353
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
ccoderРаботает, только как пратрейсить ошибку и дойти до решения по трейсу?
Никак. Есть стандартные питфолы. Их просто нужно знать.
https://www.google.com/search?q=java+default+package
это как с восклицательным знаком в пути.
...
Рейтинг: 0 / 0
05.12.2012, 17:27:51
    #38066681
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
Ок, хорошо.

А брейкпойинт на
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
можно-ли както поставить? (просто для интереса)

Т.е. в Intellij как
...
Рейтинг: 0 / 0
05.12.2012, 17:40:37
    #38066727
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tld и простой тег
ccoderОк, хорошо.

А брейкпойинт на
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
можно-ли както поставить? (просто для интереса)

Т.е. в Intellij как
скачать исходники и подключить к проекту. Номер строки намекает что классы скомпилированы с отладочной инфой о строках, так что можно дебажить.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / tld и простой тег / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]