Ошибки, когда компилятор пытается создать пользовательский тег JSP на основе Java Bean - PullRequest
1 голос
/ 21 февраля 2012

Я пытаюсь использовать пользовательский тег на странице jsp, но до сих пор получаю ошибки компиляции.Вот код пользовательского тега jsp вместе со страницей jsp, которая пытается его использовать.

address.tag

<%-- 
    Document   : address
    Created on : Feb 21, 2012, 1:47:19 PM
    Author     : skiabox
--%>

<%@tag description="Address Input Field" pageEncoding="UTF-8"%>
<jsp:useBean id="addressBean" scope="session" class="com.ensode.netbeansbook.AddressBean" />

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- The list of normal or fragment attributes can be specified here: --%>
<%@attribute name="addressType" required="true"%>

<%-- any content can be specified here e.g.: --%>
<table border="0">


        <tr>
            <td>Line 1:&nbsp;</td>
            <td>
                <input type="text" size="20" name="${addressType}_line1" id="${addressType}_line1" value="${addressBean.line1}" />
            </td>
        </tr>

        <tr>
            <td>Line 2:&nbsp;</td>
            <td>
                <input type="text" size="20" name="${addressType}_line2" id="${addressType}_line2" value="${addressBean.line2}" />
            </td>
        </tr>

        <tr>
            <td>City:&nbsp;</td>
            <td>
                <input type="text" size="20" name="${addressType}_city" id="${addressType}_city" value="${addressBean.city}" />
            </td>
        </tr>

        <tr>

            <td>State:&nbsp;</td>
            <td>
                <select name="${addressType}_state" id="${addressType}_state">

                    <option value=""></option>
                    <option value="AL"
                        <c:if test="${addressBean.state == 'AL'}">selected</c:if> >
                        Alabama
                    </option>
                    <option value="AK"
                        <c:if test="${addressBean.state == 'AK'}">selected</c:if> >
                        Alaska
                    </option>
                    <option value="AZ"
                        <c:if test="${addressBean.state == 'AZ'}">selected</c:if> >
                        Arizona
                    </option>
                    <option value="AR"
                        <c:if test="${addressBean.state == 'AR'}">selected</c:if> >
                        Arkansas
                    </option>
                    <option value="CA"
                        <c:if test="${addressBean.state == 'CA'}">selected</c:if> >
                        California
                    </option>

                </select>
            </td>
        </tr>

        <tr>
            <td>Zip:&nbsp;</td>
            <td>
                <input type="text" name="${addressType}_zip" id="${addressType}_zip" value="${addressBean.zip}" />
            </td>
        </tr>

</table>

index6.jsp

<%-- 
    Document   : index6
    Created on : Feb 21, 2012, 3:25:43 PM
    Author     : skiabox
--%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>

<%@taglib prefix="ct" tagdir="/WEB-INF/tags/" %>
<%@page import="com.ensode.netbeansbook.AddressBean" %>

<%
    AddressBean addressBean = new AddressBean();
    addressBean.setAddressType("home");
    addressBean.setLine1("123 Tennis Ct");
    addressBean.setCity("Phoenix");
    addressBean.setState("AZ");
    addressBean.setZip("85001");

    session.setAttribute("addressBean", addressBean);
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form>
            <ct:address addressType="home"/>
            <table cellpadding="0" cellspacing="0" border="0">
                <tr>
                    <td style="width: 65px;"></td>
                    <td>
                        <input type="submit" value="Submit" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

AddressBean.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ensode.netbeansbook;

/**
 *
 * @author skiabox
 */
public class AddressBean {

    private String addressType;
    private String line1;
    private String line2;
    private String city;
    private String state;
    private String zip;

    public String getAddressType() {
        return addressType;
    }

    public void setAddressType(String addressType) {
        this.addressType = addressType;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getLine1() {
        return line1;
    }

    public void setLine1(String line1) {
        this.line1 = line1;
    }

    public String getLine2() {
        return line2;
    }

    public void setLine2(String line2) {
        this.line2 = line2;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getZip() {
        return zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }
}

А вот журнал ошибок, который Netbeans выдает мне при попытке скомпилировать пользовательский тег:

org.apache.jasper.JasperException: PWC6033: Ошибкав компиляции Javac для JSP

PWC6197: ошибка произошла в строке: 48 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java:215: невозможно получить доступ к файлу класса javax.servlet.jsp.jstl.core.ConditionalTagSupport для javax.servlet.jsp.jstl.core.ConditionalTagSupport не найден

PWC6197: в строке произошла ошибка: 48 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 216: не удается найти символ символа: метод setPageContext (javax.servlet.jsp.PageContext) расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: Произошла ошибка в строке: 48 в файле jsp: /WEB-INF/tags/address.tag PWC6199: Произошла ошибка сгенерированного сервлета: строка: ///address_tag.java: 217: не удалось найти символ символа: расположение метода setParent (): class org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: в строке 48 в файле jsp произошла ошибка: /WEB-INF/tags/address.tag PWC6199: сгенерированоошибка сервлета: строка: ///address_tag.java: 219: не удается найти символ символа: метод doStartTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированоошибка сервлета: строка: ///address_tag.java: 223: не удается найти символ символа: метод doAfterBody () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированоошибка сервлета: строка: ///address_tag.java: 228: не удается найти символ символа: метод doEndTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированоошибка сервлета: строка: ///address_tag.java: 229: повторное использование (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6199: Сгенерированная ошибка сервлета: строка: ///address_tag.java:232: повторное использование (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применено к (org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6197: Произошла ошибка в строке: 52 в файле jsp: /WEB-INF/tags/address.tag PWC6199: Сгенерирована ошибка сервлета: строка: ///address_tag.java: 241: не удается найтисимвол: метод setPageContext (javax.servlet.jsp.PageContext) расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: в строке произошла ошибка: 52 в jspfile: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 242: не удается найти символ символа: метод setParent () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: в строке: 52 в файле jsp произошла ошибка: / WEB-INF / tags / address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 244: не удается найти символ символа: метод doStartTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 248: не удается найти символ символа: метод doAfterBody () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 253: не удается найти символ символа: метод doEndTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 254: повторное использование (javax.servlet.jsp.tagext.Tag) вorg.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 257: повторно использовать (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6197: Произошла ошибка в строке 56 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 266: не удается найти символ символа: метод setPageContext (javax.servlet.jsp.PageContext) расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: Произошла ошибка в строке 56 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 267: не удается найти символ символа: метод setParent () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: Произошла ошибка в строке 56 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 269: не удается найти символ символа: метод doStartTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 273: невозможно найти символьный символ: метод doAfterBody () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 278: не может найти символ символа: метод doEndTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 279: повторно использовать (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 282: повторно использовать (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6197: Произошла ошибка в строке: 60 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 291: не удается найти символ символа: метод setPageContext (javax.servlet.jsp.PageContext) расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: Произошла ошибка в строке: 60 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 292: не удается найти символ символа: метод setParent () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: Произошла ошибка в строке: 60 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 294: не удается найти символ символа: метод doStartTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 298: невозможно найти символьный символ: метод doAfterBody () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: Сгенерированная ошибка сервлета: строка: ///address_tag.java: 303: не может найти символ символа: метод doEndTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 304: повторно использовать (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 307: повторно использовать (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применен к (Org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6197: Произошла ошибка в строке: 64 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета:строка: ///address_tag.java: 316: не удается найти символ символа: метод setPageContext (javax.servlet.jsp.PageContext) расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: ошибка в строке: 64 в файле jsp: /WEB-INF/tags/address.tag PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 317: не удается найти символ символа: метод setParent () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6197: в строке: 64 в файле jsp произошла ошибка: /WEB-INF/tags/address.tag PWC6199: Сгенерированная ошибка сервлета: строка: ///address_tag.java: 319: не удается найти символ символа: метод doStartTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: Сгенерированная ошибка сервлета: строка: ///address_tag.java: 323: не удается найти символ символа: метод doAfterBody () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: Сгенерированная ошибка сервлета: строка: ///address_tag.java: 328: не удается найти символсимвол: метод doEndTag () расположение: класс org.apache.taglibs.standard.tag.rt.core.IfTag

PWC6199: сгенерированная ошибка сервлета: строка: ///address_tag.java: 329: повторное использование (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool нельзя применить к (org.apache.taglibs.standard.tag.rt.core.IfTag)

PWC6199: сгенерированный сервлетошибка: строка: ///address_tag.java: 332: повторное использование (javax.servlet.jsp.tagext.Tag) в org.apache.jasper.runtime.TagHandlerPool не может быть применено к (org.apache.taglibs.standard.tag.rt.core.IfTag)

/ Users / skiabox / NetBeansProjects / simplewebapp2 / nbproject / build-impl.xml: 612: Java вернула: 1 ошибка сборки (общее время: 2 секунды)

Как видите, первая ошибка возникает, когда код пытается получить доступ к addressBean.state. Есть идеи, как это исправить или что я делаю неправильно?Спасибо.

1 Ответ

0 голосов
/ 02 марта 2015

Я знаю, что уже очень поздно (более 3 лет) ответить на этот вопрос. У меня тоже была эта проблема. По-видимому, решение - «Очистить и построить проект» или нажмите SHIFT + F11 и снова запустите проект.

...