<h:outputScript> cible de problème lors de l'utilisation de modèles
J'ai une question concernant l'intégration de la bibliothèque jquery avec JSF 2.0
lors de l'utilisation de <h:outputScript library="/common/js" name="jquery-1.5.1.min.js" target="head" />
, je devrais inclure <h:head>
balise dans mon fichier xhtml. si le script est rendu à la tête.
mais j'ai un modèle.xhtml qui contient <h:head>,<h:body>
pièces. Comment puis-je faire target="head" />
pour ma page, qui découle de ce modèle ui:composition="template.xhtml"
?
target=form>
ne fonctionne pas non plus.
mon template:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><h:outputText value="#{msg['label.titlemsg']}" /></title>
<h:outputStylesheet library="css" name="style.css" target="head"/>
</h:head>
<h:body>
<f:view locale="#{localeBean.locale}">
<div id="outer">
<div id="container">
<div id="inner">
<div class="float">
<div class="main">
<!-- -->
<div id="icerik">
<ui:insert name="icerik">
</ui:insert>
</div></div></div></div></div></div>
<div id="langbar" align="center">
</div>
</f:view>
</h:body>
</html>
j'ai donc "icerik".
dans mon fichier:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="/Template.xhtml">
<ui:define name="icerik">
<h:outputScript library="/common/js" name="jquery-1.5.1.min.js" target="head" />
<h:outputScript library="/common/js" name="jquery.validate.js" target="head" />
</ui:define>
</ui:composition>
</html>
Il doit travailler de cette façon. Ce qui se passe à la place? Que voyez-vous lorsque vous cliquez avec le bouton droit de la page dans le navigateur internet et de l'examen de la JSF HTML générée en sortie? L'
salut, j'ai utiliser un modèle target=la tête et de la cible=corps génère pas de sortie sur .js fichiers.
salut à nouveau, j'ai mis à jour ma question avec un peu de code.
Pouvez-vous être plus clair sur ce qui se passe à la place? Voyez-vous rien dans l'en-tête du fichier HTML généré en sortie? Même pas
oui, sans l'aide de mes modèles .js fichiers peut être vu dans la balise head. à l'aide de tamplates les causes de ce problème pour moi. rien montré dans la partie de la tête si ui:define est utilisé
<script>
là?salut, j'ai utiliser un modèle target=la tête et de la cible=corps génère pas de sortie sur .js fichiers.
salut à nouveau, j'ai mis à jour ma question avec un peu de code.
Pouvez-vous être plus clair sur ce qui se passe à la place? Voyez-vous rien dans l'en-tête du fichier HTML généré en sortie? Même pas
<script type="text/javascript" src="RES_NOT_FOUND">
?oui, sans l'aide de mes modèles .js fichiers peut être vu dans la balise head. à l'aide de tamplates les causes de ce problème pour moi. rien montré dans la partie de la tête si ui:define est utilisé
OriginalL'auteur asyard | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Je pense une meilleure façon de résoudre mon problème : ajout de
<ui:insert name="icerikhead"></ui:insert>
le modèle de la partie de la tête puis de la remplir mon formulaire comme<ui:define name="icerikhead"> add js files </ui:define>
h:outputScript
de l'intérieur d'une faceletsui:composition
. Cette facelet utilise également un modèle et définit le contenu par le biais de certainsui:define
balises. Puis j'ai réalisé, je dois mettre le h:outputScript à l'intérieur de l'une de ces ui:définir des balises, pas en dehors d'eux. Maintenant, il fonctionne comme un charme.OriginalL'auteur asyard