Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JSP2.0自定义标记文件不能与portlet一起使用?_Jsp_Liferay_Portlet_Jsp Tags_Liferay 6 - Fatal编程技术网

为什么JSP2.0自定义标记文件不能与portlet一起使用?

为什么JSP2.0自定义标记文件不能与portlet一起使用?,jsp,liferay,portlet,jsp-tags,liferay-6,Jsp,Liferay,Portlet,Jsp Tags,Liferay 6,我正在尝试在LifeRay6.0Portlet应用程序中使用JSP2.0标记文件 以下是我遵循的步骤: 我的jsp很简单:home.jsp <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <table> <tr> <td> <

我正在尝试在LifeRay6.0Portlet应用程序中使用JSP2.0标记文件

以下是我遵循的步骤:

  • 我的jsp很简单:
    home.jsp

    <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <table>
        <tr>
            <td> <tags:tagDemo/> </td>
            <td><c:out value="Cout Hello"/></td>
        </tr>
    </table>
    
  • /WEB-INF/WEB.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-  app_2_4.xsd" version="2.4">
    
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/classes/log4j.properties</param-value>
        </context-param>
    
        <servlet>
            <servlet-name>view-servlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>view-servlet</servlet-name>
            <url-pattern>/WEB-INF/servlet/view</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    有人能告诉我问题出在哪里吗?

    我想错误出在这个指令中:

    它应该是:


    另外,我还找到了一个关于JSP 2.0自定义标记的好教程。

    No。那不行。我们不需要也不应该知道指令中的实际标记名。JSP 2.0自定义标记在liferay 6.0 portlet中不起作用。但不知怎的,他们是在liferay 5.xPortlet中工作的。奇怪的是,它在5.x中工作,而不是在6.0中。希望您有适合
    jstl
    的jar文件。其次,为什么我们
    不应该提到实际的标签名?有推荐人吗?我还没有尝试过,但任何理由或参考都会有所帮助。
    
    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-  app_2_4.xsd" version="2.4">
    
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/classes/log4j.properties</param-value>
        </context-param>
    
        <servlet>
            <servlet-name>view-servlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>view-servlet</servlet-name>
            <url-pattern>/WEB-INF/servlet/view</url-pattern>
        </servlet-mapping>
    
    </web-app>
    
    00:14:42,642 ERROR [render_portlet_jsp:154] org.apache.jasper.JasperException: /WEB-INF/jsp/home.jsp (line: 55, column: 6) No tag "tagDemo" defined in tag library imported with prefix "tags"
        at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
        at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
        at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)
        at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1215)
        at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450)
        at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
        at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
        at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
        at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
        at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)