【问题标题】:JSP Error: Expecting "jsp:param" standard action with "name" and "value" attributesJSP 错误:期望具有“名称”和“值”属性的“jsp:param”标准操作
【发布时间】:2012-05-05 03:32:52
【问题描述】:

我有一个具有以下代码的 JSP 页面:

<td colspan=2>
    <div align="right">         
        <jsp:include page="/field_help.jsp" flush="true" >
            <% if(researchTabON) { %>
                <jsp:param name = "Command" value ="research"/>
            <% } else { %>
                <jsp:param name = "Command" value ="error"/>
            <% } %>
            <jsp:param name="Location" value="paperworkadmintool/xml/pwAdminFieldHelp.xml"/>
        </jsp:include>
    </div>
</td>

上面的 sn-p 在 WAS 6 上运行良好,但是当我尝试在 Tomcat 上运行时,它会抛出以下异常:

/my_page.jsp(71,7) Expecting "jsp:param" standard action with "name" and "value" 
    attributes org.apache.jasper.JasperException: /my_page.jsp(71,7) Expecting 
    "jsp:param"  standard action with " name"  and " value"  attributes

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
at org.apache.jasper.compiler.Parser.parseParam(Parser.java:843)

【问题讨论】:

    标签: jsp tomcat jsp-tags jspinclude


    【解决方案1】:
    <%
    String command = ... ;//calculate your desired value here
    %>
        <jsp:include page="/field_help.jsp" flush="true" >
            <jsp:param name="Command" value="<%=command%>"/>
            <jsp:param name="Location" value="paperworkadmintool/xml/pwAdminFieldHelp.xml"/>
        </jsp:include>
    

    【讨论】:

      【解决方案2】:

      Tomcat 显然不喜欢这种语法。当&lt;jsp:include&gt; 正文为空时,您通常会收到此错误。显然,这些 scriptlet 生成了令人困惑的 Java 代码。尝试如下更改:

      <jsp:include page="/field_help.jsp" flush="true" >
          <jsp:param name="Command" value="<%=(researchTabON ? "research" : "error")%>"/>
          <jsp:param name="Location" value="paperworkadmintool/xml/pwAdminFieldHelp.xml"/>
      </jsp:include>
      

      【讨论】:

        【解决方案3】:

        :- 该动作标签允许在处理请求时将URL指定的HTML或JSP页面等静态或动态资源包含在当前JSP中。该包含标签包含2个属性 1.page:类似于page Diretive标签。 2.flush:取true或false,表示在包含资源之前是否需要flush buffer。默认值为false。

        【讨论】:

          【解决方案4】:

          想添加到这个线程。我正在做一个 weblogic to tomcat switch,并且遇到了同样的错误。就我而言,这是因为 weblogic 可以使用 HTML 注释,但 tomcat 不行。

              <jsp:include page="/test.jsp"> <!-- COMMENT -->
                <jsp:param name="vType" value="<%=name%>" /> 
              </jsp:include>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-12-27
            • 2019-01-04
            • 2016-08-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-22
            相关资源
            最近更新 更多