JTSL页面参数未被评估 - 使用Spring MVC + Embedded Jetty

时间:2010-11-26 10:27:31

标签: spring jstl jetty

我试图让Spring MVC注释示例与嵌入式Jetty Web服务器一起使用,

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>

Web应用程序在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 :(得分:0)

好的,问题是我有冲突的JAR文件。得到一个简单的嵌入式Jetty应用程序w / Spring启动并运行,您只需要以下内容:

激活-1.1.jar ANT-1.6.5.jar 核心3.1.1.jar 码头,6.1.11.jar 码头的注解,6.1.11.jar 码头命名,6.1.11.jar 码头加6.1.11.jar 码头-UTIL-6.1.11.jar JSP-2.1.jar JSP-API-2.1.jar log4j.jar 邮件1.4.jar servlet的API-2.5-6.1.11.jar ANTLR运行时,3.0.jar 共享记录-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.jar standard.jar

:)