我无法在${}
页面上使用.jsp
表达式。
displayAllCustomers.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<body>
<h3>Our Entire Customer Database</h3>
<ul>
<c:forEach items="${allCustomers}" var="customer">
<li>${customer.name}</li>
</c:forEach>
</ul>
</body>
</html>
调度-servlet.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<import resource="applicationContext.xml"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
<bean name="/displayAllCustomers" class="mypackage.DisplayAllCustomersController">
<property name="customerManagementService" ref="customerManagementService" />
</bean>
</beans>
DisplayAllCustomersController.java
public class DisplayAllCustomersController {
private CustomerManagementService customerManagementService;
public void setCustomerManagementService(CustomerManagementService customerManagementService) {
this.customerManagementService = customerManagementService;
}
@RequestMapping("/displayAllCustomers")
public ModelAndView displayAllCustomers() {
List<Customer> allCustomers = customerManagementService.getAllCustomers();
return new ModelAndView("displayAllCustomers", "allCustomers", allCustomers);
}
}
当我显示页面时,我只显示标题“我们的整个客户数据库”。
这让我疯了,我无法弄清楚我错过了什么。
有人可以帮我理解为什么会这样吗?
非常感谢。
答案 0 :(得分:6)
将以下内容添加到顶部
<%@ page isELIgnored="false"%>
答案 1 :(得分:5)
我遇到了一些问题,上述解决方案有效。但是问题是什么?我运行另一个项目,但我不做这个导入。但它仍然可以正常工作。
我指的是这个解决方案:
<%@ page isELIgnored="false"%>
答案 2 :(得分:4)
我错误地使用了错误的导入。
当我认为我已导入import org.springframework.web.portlet.ModelAndView;
时,我自动导入org.springframework.web.servlet.ModelAndView;
。
这几乎让我疯狂。
感谢。
答案 3 :(得分:0)
现在考虑使用jsp 3.x或更高版本。 而你也在使用spring.io repository中的spring maven。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>io.spring.repo.maven.release</id>
<url>http://repo.spring.io/release/</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
你必须检查maven库是否包含tomcat-embeded-el。
如果您没有使用spring的嵌入式tomcat服务器,那么请删除上面的(tomcat-embeded- *)库或编写新的pom依赖项。
像
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.6.RELEASE</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>io.spring.repo.maven.release</id>
<url>http://repo.spring.io/release/</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
这应该有效!