JSP错误:期望具有“name”和“value”属性的“jsp:param”标准操作

时间:2012-04-24 13:29:34

标签: jsp tomcat jsp-tags jspinclude

我有一个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>

上面的代码片段在 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)

4 个答案:

答案 0 :(得分:3)

<%
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>

答案 1 :(得分:0)

Tomcat显然不喜欢这种语法。当<jsp:include>正文为空时,通常会收到此错误。显然,这些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>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

想要加入这个帖子。我正在做tomcat开关的weblogic,并且遇到了同样的错误。在我的情况下,由于HTML注释,weblogic可以,但tomcat不是。

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