<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="taglib.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>FileList.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
FileList
<hr width="80%">
<table border="1" style="width: 80%;word-break:break-all;text-align: center;">
<tr>
<td>ID</td>
<td>标题</td>
<td>内容</td>
<td>发表日期</td>
</tr>
<c:forEach items="${fileslist}" var="file" >
<tr>
<td style="width: 5%;">${file.id }</td>
<td style="width: 20%;">${file.titleL }</td>
<td style="width: 70%;">
<c:set var="testStr" value="${file.content}">
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
</c:set>
</td>
<td style="width: 5%;"><fmt:formatDate value="${file.createdate }" pattern="yyyy-MM-dd HH:mm" /></td>
</tr>
</c:forEach>
</table>
</center>
</body>
</html>
错误信息如下:
2009-8-8 1:16:54 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c in /filelist.jsp</h3><p>42: Encountered illegal body of tag "c:set" tag, given its attributes.</p>
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:74)
at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1799)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1745)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:166)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
2009-8-8 1:16:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c in /filelist.jsp</h3><p>42: Encountered illegal body of tag "c:set" tag, given its attributes.</p>
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:74)
at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1799)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1745)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:166)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
请各位达人指点一二.谢谢
16 个解决方案
#1
那个标签库引入成功了嘛
#2
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
#3
<%@ include file="taglib.jsp"%>
标签都应该在这个JSP里 LZ的问题是不是因为参数啊 我没用过JSTL 但是我搜索了下
<p>42: Encountered illegal body of tag "c:set" tag, given its attributes. </p>
这句话似乎是告诉你参数不合法 LZ你自己检查下吧
#4
00
#5
把这个加上,初学者经常会忘记啊
#6
没看到LZ include tag.jsp了?
这样的问题 LZ 应该不会犯
应该是你的 (bean|entity ) 包 和你 EL 输出的属性 不符合 你仔细检查下
这样的问题 LZ 应该不会犯
应该是你的 (bean|entity ) 包 和你 EL 输出的属性 不符合 你仔细检查下
#7
<c:set var="testStr" value="${file.content}">
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
</c:set>
红色部分删除掉,修改成这样
<c:set var="testStr" value="${file.content}" />
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
</c:set>
红色部分删除掉,修改成这样
<c:set var="testStr" value="${file.content}" />
#8
导入标签库
#9
<c:set/> 少了个/斜杠
#10
看错了....
#11
忘了给大家说一下.为了导入JSTL标签方便,我通常把这些导入的语句都放到了taglib.jsp中.该文件内容正如.再次谢谢大家关注.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
#12
楼主看7楼,应该就是那的问题
#13
试试,如果还不行就在页面里试试添加标签。
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
#14
13楼...您的作法我试过.还是不行.不过还是谢谢你的关注...
#15
应该就是你c:set这个标签的问题,试试7楼的做法
#16
<c:set var="testStr" value="${file.content}"/>
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
#1
那个标签库引入成功了嘛
#2
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
#3
<%@ include file="taglib.jsp"%>
标签都应该在这个JSP里 LZ的问题是不是因为参数啊 我没用过JSTL 但是我搜索了下
<p>42: Encountered illegal body of tag "c:set" tag, given its attributes. </p>
这句话似乎是告诉你参数不合法 LZ你自己检查下吧
#4
00
#5
把这个加上,初学者经常会忘记啊
#6
没看到LZ include tag.jsp了?
这样的问题 LZ 应该不会犯
应该是你的 (bean|entity ) 包 和你 EL 输出的属性 不符合 你仔细检查下
这样的问题 LZ 应该不会犯
应该是你的 (bean|entity ) 包 和你 EL 输出的属性 不符合 你仔细检查下
#7
<c:set var="testStr" value="${file.content}">
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
</c:set>
红色部分删除掉,修改成这样
<c:set var="testStr" value="${file.content}" />
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
</c:set>
红色部分删除掉,修改成这样
<c:set var="testStr" value="${file.content}" />
#8
导入标签库
#9
<c:set/> 少了个/斜杠
#10
看错了....
#11
忘了给大家说一下.为了导入JSTL标签方便,我通常把这些导入的语句都放到了taglib.jsp中.该文件内容正如.再次谢谢大家关注.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
#12
楼主看7楼,应该就是那的问题
#13
试试,如果还不行就在页面里试试添加标签。
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
#14
13楼...您的作法我试过.还是不行.不过还是谢谢你的关注...
#15
应该就是你c:set这个标签的问题,试试7楼的做法
#16
<c:set var="testStr" value="${file.content}"/>
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${fn:length(testStr) > 20}">
<c:out value="${fn:substring(testStr, 0, 20)}" />
</c:when>
<c:otherwise>
<c:out value="${testStr}" />
</c:otherwise>
</c:choose>