<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql"%>
<html>
<c:set var="h" value="localhost"/>
<c:set var="l" value="${param.login}"></c:set>
<c:set var="p" value="${param.password}"></c:set>
<c:set var="d" value="${param.database }"></c:set>
<c:set var="t" value="${param.table }"></c:set>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
<!-- get value frome db -->
<sql:setDataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysq://${l}/${d}?user=${u}&password=${p}"/>
<sql:query var="result">
select * from <c:out value="${t}"/>
</sql:query>
<c:forEach var="row" items="${result.rowsByIndex}">
<c:out value="${row[0] }"/><br/>
</c:forEach>
<!-- get value end -->
</body>
</html>
参数是由另一个页面传递过来的。报错如下:org.apache.jasper.JasperException: /Continue.jsp(8,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1174)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1736)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)不知道这个PARAM报错怎么处理,请指教。

解决方案 »

  1.   

    : /Continue.jsp(8,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressionslz导的jstl标签不对<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      

  2.   


    <c:set var="l" value="${param.login}"></c:set>
    <c:set var="p" value="${param.password}"></c:set>
    <c:set var="d" value="${param.database }"></c:set>
    <c:set var="t" value="${param.table }"></c:set>这几行格式不对,改成:
    <c:set var="l" >${param.login}</c:set>
    <c:set var="p" >${param.password}</c:set>
    <c:set var="d" >${param.database }</c:set>
    <c:set var="t" >${param.table }</c:set>再或者改成:
    <c:set var="l" value="${param.login}"/>
    <c:set var="p" value="${param.password}"/>
    <c:set var="d" value="${param.database }"/>
    <c:set var="t" value="${param.table }"/>
    我也是刚刚学习JSTL, 有时间我交流交流。
      

  3.   

    url="jdbc:mysq://${l}/${d}?user=${u}&password=${p}"/>${d}前面加上3306试一试吧O(∩_∩)O哈哈~