2010-09-16 16 views
8

J'essaie d'obtenir un simple exemple de Lift en cours d'exécution et j'ai un problème étrange. J'utilise le projet de liste d'échantillons Sonatype here. J'ai légèrement modifié le HTML, mais ça ne fonctionnait pas non plus. Le problème que je rencontre est que lorsque j'exécute le serveur de jetée local et que j'essaie d'accéder à http://localhost:8080, il s'affiche en XML dans Firefox 3.6.10 plutôt qu'en HTML. Remarque, il s'affiche correctement dans IE8 mais le type de contenu dans IE8 est "text/html". Je suppose que Firefox n'aime pas le type de contenu "application/xhtml + xml" pour une raison quelconque. Le message dans Firefox dit:Lift - La page s'affiche en XML dans Firefox plutôt que HTML

Ce fichier XML ne semble pas avoir toute information de style associé à il. L'arborescence du document est illustrée ci-dessous.

Voici les en-têtes de réponse de Firebug:

Expires Thu, 16 Sep 2010 03:55:04 UTC 
Content-Length 558 
Cache-Control no-cache; private; no-store 
Content-Type application/xhtml+xml; charset=utf-8 
Pragma no-cache 
Date Thu, 16 Sep 2010 03:55:04 UTC 
X-Lift-Version 2.0-scala280-SNAPSHOT 
Server Jetty(6.1.22) 

..et la réponse réelle:

<?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> 
<head> 
    <title>Lift Test</title>  
</head> 
<body> 
    <h2>Welcome to your project!</h2> 
    <p> 
     <span>Welcome to toto01 at Wed Sep 15 20:55:04 PDT 2010</span> 
    </p> 
    <script type="text/javascript" src="/ajax_request/liftAjax.js"></script>  
    <script type="text/javascript"> 
     // <![CDATA[ 
     var lift_page = "F586508075515C1K"; 
     // ]]> 
    </script> 
</body> 
</html> 

Toutes les idées sur ce qui se passe mal? Comment changer le type de contenu dans Lift pour Firefox si tel est le problème?

+0

Je semble avoir le même problème avec Google Chrome. –

+0

Ajouter "LiftRules.useXhtmlMimeType = false" à Boot.scala semble avoir résolu le problème en changeant le type de contenu en text/html, mais j'aimerais quand même comprendre pourquoi l'application par défaut/xhtml + xml ne fonctionne pas. –

Répondre

8

D'accord, il semble que le problème est lié à l'élément de ne pas avoir un attribut xmlns. Après avoir changé le XHTML ci-dessous il a bien fonctionné avec le type de contenu comme "application/xhtml + xml":

<html xmlns="http://www.w3.org/1999/xhtml">