2010-10-08 6 views
0

J'ai trouvé quelques questions qui semblent liées à celle-ci, mais aucune ne décrit exactement ce qui se passe dans mon application Web.commandLink ne fonctionne pas au premier clic

Voilà, c'est une application très simple, avec une barre de menu à gauche, un en-tête et un panneau central pour montrer quelques textes. La barre de menu contient beaucoup de commandLink qui définissent la page qui va être chargée dans le panneau central. Le problème étrange est qu'aucun de ces liens ne fonctionne quand la page est juste chargée. En d'autres termes, mon premier clic ne fait rien. Dès le deuxième clic, les liens fonctionnent. J'utilise JSF 1.2 et IceFaces 1.8.1. Ceci est l'extrait de code avec le premier commandLink (tous les autres sont similaires):

<f:view> 
    <html> 
    <head> 
    <ice:outputStyle href="./xmlhttp/css/rime/rime.css" /> 
    </head> 
    <body> 
    <ice:form id="nav_form" partialSubmit="true"> 
     <ice:messages /> 
     <ice:panelGrid columns="1" width="152"> 
      <ice:panelCollapsible expanded="true"> 
      <f:facet name="header"> 
       <ice:panelGroup> 
        <ice:outputText value="Cliente" 
         style="font:bold 12px;color:#484848" /> 
       </ice:panelGroup> 
      </f:facet> 
       <ice:panelGrid columns="1"> 
        <ice:commandLink actionListener="#{cliente.defineText}" 
         action="cliente" id="consulta"> 
         <ice:outputText value="Consulta" /> 
        </ice:commandLink> 

Remarques importantes:

  • J'utilise certains comprend, mais il n'y a pas de formes imbriquées.
  • Il n'existe pas de modèle de données. Au moment où l'application est seulement un prototype, avec des liens et des textes statiques.
  • J'utilise des balises html <table> ... </table> pour concevoir la page principale, même si je sais que ce n'est pas forcément le meilleur choix.

Répondre

-1

Assurez-vous que vous avez ensemble unique Ids manuellement à chacun des commandLink, commandSortHeader, etc. Pas nécessaire pour éliminer les pots du classpath!

+3

(a) OP le fait déjà; (b) vous n'avez pas besoin de définir les identifiants manuellement dans Facelets à moins que vous n'ayez des références croisées dans le XHTML ou que vous ayez du code Java qui les utilise; (c) la remarque sur les JAR et le classpath semble complètement inutile. – EJP

Questions connexes