Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
逻辑:iterate抛出javax.servlet.jsp.JspException:无法为此集合创建迭代器_Jsp_Loops_Struts_El - Fatal编程技术网

逻辑:iterate抛出javax.servlet.jsp.JspException:无法为此集合创建迭代器

逻辑:iterate抛出javax.servlet.jsp.JspException:无法为此集合创建迭代器,jsp,loops,struts,el,Jsp,Loops,Struts,El,当我执行我的应用程序时,我有一个错误 问题不可能来自taglib的错误版本 错误: 原因:javax.servlet.ServletException: javax.servlet.jsp.JspException:“menu.jsp”中的ServletException: javax.servlet.jsp.JspException:无法为此创建迭代器 收藏 我的菜单在我的java应用程序中填充: 我的JSP: } 我的配置: 雄猫8 Struts 1.3.10 JDK1.8 您在stru

当我执行我的应用程序时,我有一个错误

问题不可能来自taglib的错误版本

错误:

原因:javax.servlet.ServletException: javax.servlet.jsp.JspException:“menu.jsp”中的ServletException: javax.servlet.jsp.JspException:无法为此创建迭代器 收藏

我的菜单在我的java应用程序中填充:

我的JSP:

}

我的配置:

  • 雄猫8
  • Struts 1.3.10
  • JDK1.8

    • 您在struts标签中使用EL的问题,这是意料不到的

      
      
        ...
      当我按照你告诉我的做时,我有一个错误:
      notEmpty标记在使用前缀逻辑导入的标记库中
      你没有导入标记库,因此你不能将它与jspOk一起使用。我如何才能找到它?你可以找到它们。您应该在接受答案之前阅读答案。好的,我添加了库,但我有相同的消息错误
      无法为此集合创建迭代器
      
      
      <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
      <%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html"%>
      <%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean"%>
      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
      <%@ taglib uri="http://struts.apache.org/tags-logic-el" prefix="logic"%>
      <%@ taglib tagdir="/WEB-INF/tags/" prefix="customTag"%>
      
      <customTag:OverlayEntry id="overlaymenu" function="overlaymenu" />
      
      <script type="text/javascript"
          src="<html:rewrite page="/javascript/jquery.easing.js"/>"></script>
      <script type="text/javascript"
          src="<html:rewrite page="/javascript/jquery.accordion.js"/>"></script>
      <link href="<html:rewrite page="/css/menu.css"/>" rel="stylesheet"
          type="text/css" />
      
      <logic:present name="UserSession" property="menu">
              <ul id="navigation">
                  <logic:iterate id="t" collection="${UserSession.menu.menuEntries}"
                      indexId="idx">
                      <customTag:MenuEntry
                          entry="<%=(com.sodifrance.apex.presentation.generic.session.MenuEntry) t%>" />
                  </logic:iterate>
              </ul>
      </logic:present>
      <script type="text/javascript">
          jQuery('.current').parent().parent().prev('A').addClass('selected');
          jQuery('#navigation>li>A[href]').addClass('head2');
      
          jQuery('#navigation').Accordion({
              header : '.head',
              navigation : false,
              event : 'click',
              autoheight : false,
              animated : false,
              active : '.selected',
              selectedClass : 'selected',
              alwaysOpen : true
          });
      
          jQuery('#navigation>li>A.current').addClass('currentHead').removeClass(
                  'current');
      </script>
      
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://xmlns.jcp.org/xml/ns/javaee"
          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
          version="3.1">
      
          <display-name>APP</display-name>
          <description>Application</description>
          <filter>
              <filter-name>applicationFilter</filter-name>
              <filter-class>com.presentation.generic.security.ApplicationFilter</filter-class>
              <init-param>
                  <param-name>exclusions</param-name>
                  <param-value>/generic/authentification/Login.do,
                      /generic/authentification/login_action.do,
                      /generic/authentification/Disconnect.do,
                      *.js,
                      *.css,
                      *.jpg,
                      *.gif,
                      *.png,
                      *.ico
                  </param-value>
              </init-param>
              <init-param>
                  <param-name>loginUrl</param-name>
                  <param-value>/generic/authentification/Login.do</param-value>
              </init-param>
          </filter>
          <filter>
              <filter-name>EncodingFilter</filter-name>
              <filter-class>com.presentation.generic.security.EncodingFilter</filter-class>
              <init-param>
                  <param-name>encoding</param-name>
                  <param-value>ISO-8859-15</param-value>
              </init-param>
              <init-param>
                  <param-name>forceEncoding</param-name>
                  <param-value>true</param-value>
              </init-param>
          </filter>
          <filter-mapping>
              <filter-name>applicationFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
          <filter-mapping>
              <filter-name>EncodingFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
          <session-config>
              <session-timeout>30</session-timeout>
          </session-config>
          <listener>
              <listener-class>com.presentation.generic.back.BirtEngineListener</listener-class>
          </listener>
          <servlet>
              <servlet-name>action</servlet-name>
              <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
              <init-param>
                  <param-name>config</param-name>
                  <param-value>/WEB-INF/struts-config.xml</param-value>
              </init-param>
              <init-param>
                  <param-name>debug</param-name>
                  <param-value>2</param-value>
              </init-param>
              <init-param>
                  <param-name>detail</param-name>
                  <param-value>2</param-value>
              </init-param>
              <load-on-startup>2</load-on-startup>
          </servlet>
          <servlet>
              <servlet-name>initDB</servlet-name>
              <servlet-class>com.metier.init.DbInitializerServlet</servlet-class>
              <init-param>
                  <param-name>debug</param-name>
                  <param-value>true</param-value>
              </init-param>
          </servlet>
          <servlet>
              <servlet-name>birtEngineServlet</servlet-name>
              <servlet-class>com.report.generic.BirtServlet</servlet-class>
          </servlet>
          <servlet-mapping>
              <servlet-name>action</servlet-name>
              <url-pattern>*.do</url-pattern>
          </servlet-mapping>
      <!--    <servlet-mapping> -->
      <!--        <servlet-name>jsp</servlet-name> -->
      <!--        <url-pattern>/javascript/generic/messages.js</url-pattern> -->
      <!--    </servlet-mapping> -->
      <!--    <servlet-mapping> -->
      <!--        <servlet-name>jsp</servlet-name> -->
      <!--        <url-pattern>*.css</url-pattern> -->
      <!--    </servlet-mapping> -->
          <servlet-mapping>
              <servlet-name>initDB</servlet-name>
              <url-pattern>/initDB</url-pattern>
          </servlet-mapping>
      
          <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>
      </web-app>
      
          UserSession session = null;
          AccueilForm accueilForm = new AccueilForm();
      
          if (validateLogin(currentForm, request)) {
              session = new UserSession();
              SessionHelper.getDefault().registerSession(session);
      
              initializeUserSession(currentForm, session);
      
              returnCode = LoginAction.LOGIN_SUCCESS;
          } else {
              ActionErrors e = new ActionErrors();
              e.add("property", new ActionMessage("authentification.Login.action.login.failed", Math.floor(Math.random() * 4)));
              addErrors(request, e);
              returnCode = LoginAction.LOGIN_FAIL;
          }
      
          switch (returnCode) {
              case LOGIN_FAIL:
                  request.setAttribute(LoginForm.BEAN_NAME,currentForm);
                  // execute code on entry of next page
                  currentForm.onEntry();
                  actionForward = mapping.findForward("LOGINACTION_LOGIN_FAIL");
                  break;
      
              case LOGIN_SUCCESS:
                  session.setLogin(currentForm.getLogin());
                  request.getSession().setAttribute("UserSession", session);
                  accueilForm.onEntry();
                  request.setAttribute(AccueilForm.BEAN_NAME, accueilForm);
                  actionForward = mapping.findForward("LOGINACTION_LOGIN_SUCCESS");
                  break;
      
              default:
                  break;
          }
      }
      return actionForward;