2012-04-24 22 views
2

我有下面的代碼在JSP頁面:JSP錯誤:期待「的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> 

上面的代碼中運行良好的爲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) 

回答

0

Tomcat的顯然不喜歡這種語法。你正常<jsp:include>正文爲空時得到此錯誤。顯然這些腳本生成了令人困惑的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
<% 
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> 
0

: - 這個動作標籤允許靜態或動態資源,如HTML或URL指定的JSP頁面將包含在當前JSP在處理request.This包含標籤包含2個屬性 1.page:It與頁面Diretive標籤類似。 2.flush:是或否,表示在包含資源之前是否需要刷新緩衝區,默認值爲false。

0

想加入到這個主題。我正在做一個tomcat交換機的weblogic,並且有相同的錯誤。在我的情況,這是因爲一個HTML評論,weblogic可以,但tomcat不是。

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