我有个页面
<form action="reg.jsp" method="post">
<table>
<tr>
<td>用户名:</td><td><input type="text" name="name" /></td>
</tr>
<tr>
<td>性别:</td><td><input type="radio" name="sex" value="1" checked="checked"/>男<input  type="radio" name="sex" value="0" />女</td>
</tr>
<tr><td>学历:</td><td>
<select size="1" name="education">
<option value="" selected>......</option>
<option value="高中">高中</option>
<option value="大学">大学</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>
</select>
</td>
</tr>
<tr><td>Email:</td><td><input type="text" name="mail" /></td>
</tr>
<tr>
<td><input type="reset"  value="重置"/></td>
<td><input type="submit" value="提交" /></td>
</tr>
</table>
</form>提交给reg.jsp处理reg.jsp如下
<%@ page contentType="text/html;charset=gb2312" %>
<%
request.setCharacterEncoding("gb2312");

%>
<jsp:useBean id="user" scope="session" class="test.UserBean"/>
<jsp:setProperty name="user" property="*"/>
<jsp:setProperty name="user" property="email" param="mail"/>
注册成功!
<a href="userinfo.jsp">显示</a>
<a href="reg.html">返回</a>
处理是成功的可是我想显示JAVABean中的属性出错
userinfo.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<jsp.useBean id="user" scope="session" class="test.UserBean"/>
你的姓名:<jsp:getProperty name="user" property="name"/><br />
<br>
你的学历:<jsp:getProperty name="user" property="education"/>
你的E-mail:<jsp:getProperty name="user" property="email"/>
<br />我测试很多次,好像是<jsp:getProperty>出错
其中,JAVABean编写正确请大虾,帮我检查检查

解决方案 »

  1.   

    错误是
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Attempted a bean operation on a null object.
    org.apache.jasper.runtime.JspRuntimeLibrary.handleGetProperty(JspRuntimeLibrary.java:603)
    org.apache.jsp.userinfo_jsp._jspService(userinfo_jsp.java:56)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    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)
      

  2.   

    <jsp:setProperty name="user" property="*"/>
    <jsp:setProperty name="user" property="email" param="mail"/>
    不知道LZ的javabean怎么写的,user中没有mail属性吗?setXXX()和getXXX()中的XXX要和页面中的name=“”匹配的,这样使用property="*"才能写进去,如setName(),name=“name”,LZ可以试试
      

  3.   

    你的实体对象有没有用session存过,没有的话压根就取不到值
      

  4.   

    注意setXxx()和getXxx()的方法第一个字母要大写的。不知道楼主大写没?看一下Bean文件中是否有少写的数据。可能是Bean文件错误。也可能是你的<jsp:setProperty name="user" property="*"/>
    <jsp:setProperty name="user" property="email" param="mail"/>冲突了,"*"表示已经将表单中的信息赋值给Bean了,你再测试一下。4楼的那位Bean好像不用session.setAttribute("XX",XX);吧?
      

  5.   

    javaBean里面的属性确定一致了没有?
      

  6.   

    http://www.incomeweb.info/start.html?a_aid=4bbedf912493a
      

  7.   

    要使用<jsp:getProperty name="user" property="name"/><br />必须先<jsp:setProperty name="user" property="name"/><br />才能拿到