2012-04-24 3 views
2

J'ai une page JSP ayant le code suivant:JSP Erreur: Expecting "jsp: PARAM" action standard avec "nom" et "valeur" attributs

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

Au-dessus de bout fonctionne bien sur WAS 6, mais quand je tente d'exécuter même sur Tomcat, il jette ci-dessous exception:

/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) 

Répondre

0

Tomcat ne semble pas comme cette syntaxe. Vous normalement obtenir cette erreur lorsque le corps <jsp:include> est vide. Apparemment, ces scriptlets ont généré du code Java déroutant. Essayez de changer comme suit:

<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

: - Cette balise d'action permet une des ressources statiques ou dynamiques comme page HTML ou JSP spécifié par URL à inclure dans JSP lors du traitement des request.This include tag contient 2 attributs 1.page: Il est similaire à la page Balises Diretive. 2.flush: prend la valeur true ou false, ce qui indique si le tampon doit ou non être vidé avant d'inclure la ressource. La valeur par défaut est false.

0

Souhaitez ajouter à ce sujet. Je fais un changement de weblogic à tomcat, et avais la même erreur. Dans mon cas, c'était à cause d'un commentaire HTML que weblogic acceptait mais Tomcat ne l'était pas.

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