Java 表达式语言,don';不显示变量值
我对JavaEE相当陌生,我正在尝试使用Java 表达式语言,don';不显示变量值,java,jsp,el,Java,Jsp,El,我对JavaEE相当陌生,我正在尝试使用.war文件,但似乎index.jsp文件没有显示变量,我只看到${thr.name}${thr.state}${thr.priority}${thr.daemon}我在jboss和tomcat6 编辑: 以下是代码: package org.jboss.varia.threaddump.ThreadDumpBean; import java.io.Serializable;import java.util.*; public class Thread
.war
文件,但似乎index.jsp
文件没有显示变量,我只看到${thr.name}${thr.state}${thr.priority}${thr.daemon}
我在jboss
和tomcat6
编辑:
以下是代码:
package org.jboss.varia.threaddump.ThreadDumpBean;
import java.io.Serializable;import java.util.*;
public class ThreadDumpBean implements Serializable {
private final Map traces;
public ThreadDumpBean() {traces = new TreeMap(THREAD_COMP);traces.putAll(Thread.getAllStackTraces());}
public Collection getThreads() {return traces.keySet();}
public Map getTraces() {return traces;}
/*** Compare the threads by name and id.*/
private static final Comparator THREAD_COMP = new Comparator() {
public int compare(Thread o1, Thread o2) {
int result = o1.getName().compareTo(o2.getName());
if (result == 0) {
Long id1 = o1.getId();
Long id2 = o2.getId();
return id1.compareTo(id2);
}
return result;
}};
}
和.jsp
:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<jsp:useBean id="threadDump"
class="org.jboss.varia.threaddump.ThreadDumpBean"
scope="request"/>
<html>
<body>
<h2>Thread Summary</h2>
<table cellpadding="5" cellspacing="5">
<tr>
<th>Thread</th>
<th>State</th>
<th>Priority</th>
<th>Daemon</th>
</tr>
<c:forEach items="${threadDump.threads}" var="thr">
<tr>
<td><c:out value='<a href="#${thr.id}">${thr.name}</a>' escapeXml="false"/></td>
<td><c:out value="${thr.state}"/></td>
<td><c:out value="${thr.priority}"/></td>
<td><c:out value="${thr.daemon}"/></td>
</tr>
</c:forEach>
</table>
<h2>Thread Stack Traces</h2>
<c:forEach items="${threadDump.stackTraces}" var="trace">
<h4><c:out value='<a name="${trace.key.id}">${trace.key}</a>' escapeXml="false"/></h4>
<pre>
<c:forEach items="${trace.value}" var="traceline">
at <c:out value="${traceline}"/></c:forEach>
</pre>
</c:forEach>
</body>
</html>
线程摘要
线
陈述
优先
守护进程
线程堆栈跟踪
在
如果在Tomcat 6上部署JSP页面,则需要启用表达式语言来使用它(出于向后兼容性的原因,默认情况下禁用此选项)。这可以通过创建web.xml文件来实现,其中Servlet规范的版本至少设置为2.4。您的web.xml文件应如下所示:
<web-app {...magic from above...}>
<jsp-property-group>
<url-pattern>/*</url-pattern>
<el-ignore>false</el-ignore>
</jsp-property-group>
</web-app>
要在JSP标记属性之外使用EL,您需要在web.xml中添加更神奇的事件
<%@ page isELIgnored ="false" %>
/*
假的
您还应该能够强制此单个页面允许EL,但在页面顶部添加此声明:
是的,这种双重否定很优雅,是吗?;-) 我在这里找到了代码:
<%@ page isELIgnored ="false" %>