2010-10-06 7 views
1

Je veux un code dans Facelet (JSF 2.0) au travail:Comment accéder aux composants html dans JSF EL?

<h:inputText id="q" /> 
    <h:button outcome="/search.xhtml?q=#{q.value}" /> 

mais quand j'appuie sur le bouton, la page de recherche ouvre sans aucun paramètre. Je pense que mon expression EL est fausse. Est-il possible d'accéder à la valeur inputText de l'expression EL? Si non, comment puis-je obtenir la même fonctionnalité?

Répondre

1

J'ai fini avec l'aide du formulaire html simple:

<form action="faces/search.xhtml" method="get"> 
     <input type="text" name="query" /> 
     <input type="submit" value="Find" /> 
</form> 

Dans search.xhtml J'ai vue d'obtenir une param valeur de chaîne de requête:

<f:metadata> 
     <f:viewParam name="query" /> 
    </f:metadata> 

Cette solution a le problème - "faces/search.xhtml" est codé en dur. Aussi, lorsque je place ce formulaire search.xhtml et effectuer plusieurs recherches que j'ai quelque chose comme ça dans l'URL du navigateur:

« http: // localhost: 8080/Application/faces/faces/faces/search.xhtml "

Je pense que ce problème peut être résolu avec PrettyFaces (TODO :)

Questions connexes