本人jsp初学者,想请教哪位高手解决下面的问题。异常:
org.apache.jasper.JasperException: /index.jsp(19,2) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
源码:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ taglib prefix="c"  uri="http://java.sun.com/jstl/core"%> <html>
  <body>
  <font>个人信息</font>
     <form action="index.jsp" method="post">
    
     <table>
    
     <tr><td>姓名:</td><td><input type="text" name="userName"/></td></tr>
<tr><td>性别:</td><td><input type="radio" name="sex" value="女"/>女</td><td><input type="radio" name="sex" value="男"/></td></tr>
     <tr><td>爱好:</td><td><input type="checkbox" name="hobby" value="basketball" />篮球<input type="checkbox" name="hobby" value="swiming" />游泳</td></tr>
     <tr><td><input type="submit" name="sub" value="提   交"/></td></tr>
     </table>
     </form>
     您的姓名:<font>${param.userName }</font><br>
<c:out value="${param.userName}"></c:out>
  </body>
</html>关键是删掉<c:out value="${param.userName}"></c:out>后就没事。不知道是什么原因?

解决方案 »

  1.   

    <c:out value="${param.userName}"> </c:out>
    这一句是从request中取得userName的值,然后在页面输出。只能在你form的action中指定的页面才能用这句获得userName,本页没有办法获得这个值。
      

  2.   

    你那个异常是标准标签里面的参数不能接受任何表达式,把这句:
    <%@ taglib prefix="c"  uri="http://java.sun.com/jstl/core"%> 
    改为:
    <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>