Параметры страницы JTSL не оцениваются - используется Spring MVC + Embedded Jetty - PullRequest
2 голосов
/ 26 ноября 2010

Я пытаюсь получить пример аннотации Spring MVC, работающий со встроенным веб-сервером Jetty,

Пример аннотации Spring MVC:

http://www.vaannila.com/spring/spring-annotation-controller-1.html

Мой (очень простой) веб-сервер:

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class ServerRunner {

    public static void main(String[] arguments) throws Exception {
        Server server = new Server();

        Connector connector = new SelectChannelConnector();
        connector.setPort(8080);

        server.addConnector(connector);

        WebAppContext webappcontext = new WebAppContext();
        webappcontext.setContextPath("/foo");
        webappcontext.setWar(".");

        server.addHandler(webappcontext);

        server.start();
        server.join();
    }
}

Сервер нормально запускается и я захожу на

http://localhost:8080/foo/userRegistration.htm

в моем браузере (используйте http). но когда я нажимаю «Отправить», на следующей странице отображаются ${user.name}, ${user.country} вместо оценки самих выражений.

Источник JSP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Success Page</title>
</head>
<body>

User Details
<hr>
User Name   : ${user.name}
Gender      : ${user.gender}
Country     : ${user.country}
About You   : ${user.aboutYou}
Community   : 
<c:forEach var="community" items="${user.communityList}" >
 ${community}
</c:forEach> <br />
Mailing List: ${user.mailingList}
</body>
</html>

Веб-приложение прекрасно работает на Jetty Standalone, но не на Embedded Jetty. Кто-нибудь сталкивался с этой проблемой? Я использую Jetty версии 6.

Мой web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" 
    version="2.5">
  <display-name>Foo</display-name>
  <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>

1 Ответ

0 голосов
/ 17 декабря 2010

Хорошо, проблема была в том, что у меня были конфликтующие файлы JAR.Запустите и запустите приложение Embedded Jetty с поддержкой Spring. Все, что вам нужно, это:

активации-1.1.jar ant-1.6.5.jar core-3.1.1.jar jetty-6.1.11.jar jetty-annotations-6.1.11.jar jetty-naming-6.1.11.jar jetty-plus-6.1.11.jar jetty-util-6.1.11.jar jsp-2.1.jar jsp-api-2.1.jar log4j.jar mail-1.4.jar servlet-api-2.5-6.1.11.jar antlr-runtime-3.0.jar commons-logging-1.0.4.jar json.jar jstl.jar org.springframework.asm-3.0.0.M3.jar org.springframework.beans-3.0.0.M3.jar org.springframework.context-3.0.0.M3.jar org.springframework.context.support-3.0.0.M3.jar org.springframework.core-3.0.0.M3.jar org.springframework.expression-3.0.0.M3.jar org.springframework.web-3.0.0.M3.jar org.springframework.web.servlet-3.0.0.M3.баночка стандартная. баночка

:)

...