- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
调用 jsp 页面时 EL 标记未呈现。 <c:out value="${uploadedImage.value.getDocumentName()}"/>
打印 ${uploadedImage.value.getDocumentName()}
我的pom文件是
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<url>http://maven.apache.org</url>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.4.Final</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.12</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-el-api</artifactId>
<version>7.0.12</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>7.0.12</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
<build>
<finalName>ImageManagement</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
我的web.xml是
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
</web-app>
Web 应用程序具有所有 Servlet 映射。
我的项目配置是 Tomcat 7.0 eclipse 开普勒
<c:if test = "${not empty uploadedImages}">
<% int i = 0; %>
<c:forEach var="uploadedImage" items="${uploadedImages}">
<tr>
<% i++; %>
<td><%= i %></td>
<td><c:out value="${uploadedImage.value.getDocumentName()}"/></td>
<td><c:out value="${uploadedImage.value.getDocumentSize()}"/></td>
<!-- <td><img src="image?id=${uploadedImage.value.getUserRepositryId()}" style = "height : 80px; width : 50px" alt = "image here"/></td>-->
<td>
<a href = "delete?id=${uploadedImage.value.getUserRepositryId()}"> Delete </a>
<a href = "edit?id=${uploadedImage.value.getUserRepositryId()}"> Edit </a>
</td>
</tr>
</c:forEach>
</c:if>
uploadedImages 是一个 HashMap 变量,它被设置为 Session 对象。它从数据库中获取已保存的图像并将其保存在 HashMap 中。数据库部分工作正常,它从数据库加载图像并将它们保存在 HashMap 中。
唯一的问题是 EL 标签的工作。这个项目在没有 maven 的情况下工作正常。
UserRepositryDTO.java
public class UserRepositryDTO {
private int userRepositryId;
private int userId;
private String documentName;
private long documentSize;
private byte[] document;
private String message;
/**
* @return the message
*/
public String getMessage() {
return message;
}
/**
* @param message the message to set
*/
public void setMessage(String message) {
this.message = message;
}
/**
* @return the userRepositryId
*/
public int getUserRepositryId() {
return userRepositryId;
}
/**
* @return the userId
*/
public int getUserId() {
return userId;
}
/**
* @return the documentName
*/
public String getDocumentName() {
return documentName;
}
/**
* @return the documentSize
*/
public long getDocumentSize() {
return documentSize;
}
/**
* @return the document
*/
public byte[] getDocument() {
return document;
}
/**
* @param userRepositryId the userRepositryId to set
*/
public void setUserRepositryId(int userRepositryId) {
this.userRepositryId = userRepositryId;
}
/**
* @param userId the userId to set
*/
public void setUserId(int userId) {
this.userId = userId;
}
/**
* @param documentName the documentName to set
*/
public void setDocumentName(String documentName) {
this.documentName = documentName;
}
/**
* @param documentSize the documentSize to set
*/
public void setDocumentSize(long documentSize) {
this.documentSize = documentSize;
}
/**
* @param document the document to set
*/
public void setDocument(byte[] document) {
this.document = document;
}
}
用户DTO.java
public class UserDTO {
private int userId;
private String username;
private String message;
private long totalSize;
private Map<Integer,UserRepositryDTO> userRepositry;
/**
* @return the totalSize
*/
public long getTotalSize() {
return totalSize;
}
/**
* @param totalSize the totalSize to set
*/
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
/**
* @return the userId
*/
public int getUserId() {
return userId;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @return the message
*/
public String getMessage() {
return message;
}
/**
* @param userId the userId to set
*/
public void setUserId(final int userId) {
this.userId = userId;
}
/**
* @param username the username to set
*/
public void setUsername(final String username) {
this.username = username;
}
/**
* @param message the message to set
*/
public void setMessage(final String message) {
this.message = message;
}
public Map<Integer,UserRepositryDTO> getUserRepositry() {
return userRepositry;
}
public void setUserRepositry(Map<Integer,UserRepositryDTO> userRepositry) {
this.userRepositry = userRepositry;
}
}
问题是由于servlet jsp jSTL版本不同。我不知道正确的版本。
最佳答案
首先,不要使用Scriptlets(<%= %>)
要获取循环索引,您可以从 <c:forEach
获取索引通过定义 varStatus
标记.
考虑到您已经添加了 uploadedImages
( Map
) 反对对您的 servlet 的请求。
req.setAttribute("uploadedImages", uploadedImages);
用于迭代 uploadedImage
来自 uploadedImages
的对象jsp 中的 map 确实像:
在您的 jsp 顶部导入 jSTL 标签库:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
然后,
<c:choose>
<c:when test="${not empty uploadedImages}">
<c:forEach var="uploadedImage" items="${uploadedImages}" varStatus="status">
<tr>
<!--Her, don't use Scriptlets to get index, get index from <c:forEach varStatus -->
<td>${status.index}</td>
<td><c:out value="${uploadedImage.value.documentName}"/></td>
<td><c:out value="${uploadedImage.value.documentSize}"/></td>
<!-- <td><img src="image?id=${uploadedImage.value.userRepositryId}" style = "height : 80px; width : 50px" alt = "image here"/></td>-->
<td>
<a href = "delete?id=${uploadedImage.value.userRepositryId}"> Delete </a>
<a href = "edit?id=${uploadedImage.value.userRepositryId}"> Edit </a>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
uploadedImages Map is empty..
</c:otherwise>
<c:choose>
要从表达式语言(${ }
)或 jSTL(<c:
标签)中的 DTO 获取属性值,请执行以下操作:
在 EL 中:
${uploadedImage.value.documentName} <!--internally EL will invoke getDocumentName() to get documentName value-->
在 JSTL 中:
<c:out value="${uploadedImage.value.documentName}"/>
关于eclipse - EL 标签不能与 tomcat 7 中的 maven 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342099/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!