Tomcat - не распознает $ {} - PullRequest
       2

Tomcat - не распознает $ {}

0 голосов
/ 07 апреля 2011

Я разрабатывал небольшое приложение дома, все работает нормально. Когда я решил загрузить свое приложение на мой хост, чтобы увидеть, как оно работает, у меня возникла эта проблема, в каждом месте, где я использую $ {} (например, $ {context.root} и т. Д.), Оно показывается как обычная строка, и большинство моих приложение сломалось. В чем может быть проблема, чтобы я ее исправил?

РЕДАКТИРОВАТЬ: я использую Spring MVC для этого приложения, оно очень простое только для тестирования, просто сохраняйте и просматривайте данные из БД. Это первая страница с простой ссылкой на другую страницу, использующую $ {context.root} для установки базового URL. Вот код со страницы:

<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>

Дело в том, что вместо того, чтобы показывать, например: http://localhost:8080/SGE/aluno/cadastro по ссылке, он показывает http://localhost:8080/SGE/${context.root}/SGE/aluno/cadastro. То же самое происходит на странице просмотра, которая показывает данные из базы данных:

<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>

Вместо отображения значения переменных, например ::1015*

Nome:     Joao
CPF:      98765482312
E-mail:   joao@joao.com

это просто показывает так:

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

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Звучит как-то, что-то переопределяет исходные символы. Например, что-то говорит

student.name = "$ {student.name}"
а также
context.root = "$ {context.root}"

Внимательно посмотрите на файлы конфигурации. Опубликуйте их здесь, если причина не очевидна. В частности, взгляните на тег Context в server.xml или определения в других файлах xml, которые определяют контекст или пути.

0 голосов
/ 07 апреля 2011

Вам нужно ответить на множество вопросов, прежде чем вы получите полезный ответ Начните с ответа на эти 1. Определен ли context.root в каком-либо свойстве, или вы используете какой-то фреймворк, который понимает это свойство, например, для скорости и т. Д.? 2. Вы не сказали, где вы используете $ {} 's - jsps, свойства, xmls? 3. Проверяли ли вы, что ваши файлы свойств, если какие-либо из них содержат эти определения свойств, развернуты и доступны в classpath для вашего приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...