严重: Servlet.service() for servlet [jsp] in context with path [/bookstore] threw exception [/menu.jsp(2,53) The JSP specification requires that an attribute name is preceded by whitespace] with root cause
org.apache.jasper.JasperException: /menu.jsp(2,53) The JSP specification requires that an attribute name is preceded by whitespace我的menu.jps的源代码为: 
<%@ taglib prefix="s" uri="/struts-tags" %>
 <s:iterator value="#request['catalogs']"id="catalog">
        <LI>
            <a href="browseBook.action?catalogid=<s:property value="#catalog.catalogid"/>"target=_self>
                <s:property value="#catalog.catalogname"/>
            </a>
        </LI>
</s:iterator>

解决方案 »

  1.   

     The JSP specification requires that an attribute name is preceded by whitespace
    这句话的翻译:JSP规范要求的属性名称前面要有空白你看看是不是少了个空格:应该是id前面要加一个空格  <s:iterator value="#request['catalogs']" id="catalog">
      

  2.   

    <s:iterator value="#request['catalogs']"id="catalog">
    换成<s:iterator value="#request.catalogs" var="catalog"> 
    试一下
      

  3.   

    <s:iterator value="#request.catalogs" var="catalog">  貌似这个才是标签的正确用法
      

  4.   

    value里面可以直接写对象名字啊