2011-04-06 4 views
-1

J'ai développé une petite application à la maison, tout fonctionne bien. Quand j'ai décidé de télécharger mon application sur mon hôte pour la voir fonctionner, j'ai eu ce problème, dans chaque endroit j'utilise $ {} (comme $ {context.root}, etc.) cela se voit comme une chaîne normale et la plupart de mes application a été brisée. Quel peut être le problème, donc je l'ai réparé?

EDIT: J'utilise Spring MVC pour cette application, c'est très simple à des fins de test, il suffit d'enregistrer et d'afficher les données de la base de données. C'est la première page avec un simple lien vers une autre page en utilisant $ {context.root} pour définir l'URL de base. Heres le code de la page:

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Mah oeeee!</title> 
</head> 
<body> 
    <h1>Alunos!</h1> 

    <a href="${context.root}/SGE/aluno/cadastro">Novo aluno</a> 
</body> 

La chose est, au lieu de montrer pour l'ex .: http://localhost:8080/SGE/aluno/cadastro sur le lien, il montre http://localhost:8080/SGE/${context.root}/SGE/aluno/cadastro. Même chose se passe sur la page de visualisation, qui affiche les données de base de données de:

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>CONSULTA</h1> 
    <table> 
     <tr> 
      <td>Nome</td> 
      <td>${aluno.nome}</td> 
     </tr> 
     <tr> 
      <td>CPF</td> 
      <td>${aluno.cpf}</td> 
     </tr> 
     <tr> 
      <td>E-Mail</td> 
      <td>${aluno.email}</td> 
     </tr> 
    </table> 
</body> 

Au lieu de montrer la valeur des variables, ex .:

Nome:  Joao 
CPF:  98765482312 
E-mail: [email protected] 

il montre comme cela:

Nome ${aluno.nome} 
CPF   ${aluno.cpf} 
E-Mail ${aluno.email} 
+0

Que voulez-vous dire "il montre comme une chaîne normale"? Cela signifie-t-il que $ {context.root} est remplacé par une chaîne XXX? Quelle est cette chaîne XXX? – Beel

+0

au lieu de le remplacer par la racine de contexte, il affiche $ {context.root} sur mes liens, comme www.mydomain.com:8080/mypage/${context.root}/otherpage =/ – onildo

+0

S'il vous plaît poster le nom de la fichier où cela est utilisé, et s'il vous plaît couper et coller le code exact de ce fichier. – Beel

Répondre

0

Vous devez répondre à beaucoup de nombreuses questions avant d'obtenir une réponse utile Commencez par répondre à ces questions: 1. context.root est-il défini dans une propriété ou utilisez-vous un cadre qui comprend la propriété, par exemple, vitesse, etc.? 2. Vous n'avez pas dit où vous utilisez votre $ {} 's - jsps, propriétés, xmls? 3. Avez-vous vérifié si vos fichiers de propriétés, s'ils contiennent des définitions de propriétés, sont déployés et sont disponibles dans classpath à votre application?

+0

la racine de contexte est fournie par spring mvc, aussi dans ma page de connexion j'utilise $ {pas vide login_error? SPRING_SECURITY_LAST_USERNAME: ''} dans ma balise d'entrée de nom d'utilisateur, qui s'affiche également sous la forme d'une chaîne dans mon champ de nom d'utilisateur, chaque page que j'utilise $ {} pour afficher les objets envoyés par ma méthode de mappage indique $ {student.name} comme si un string – onildo

0

Il semble que quelque part, quelque chose redéfinit les symboles d'origine. Par exemple, quelque chose dit

student.name = "$ {} student.name"
et
context.root = "$ {} context.root"

Jetez un oeil dur les fichiers de configuration. Publiez des extraits d'eux ici si la cause n'est pas apparente. En particulier, jetez un oeil à la balise Context dans server.xml, ou aux définitions dans d'autres fichiers xml qui définissent le ou les chemins.