我用了一个方法将这表AdrReport的数据显示了出来,在这个显示的页面中,还需要显示另外一张表AppriseInfo中的字段appraiseContent 把它的值也显示在这个页面当中,但是这张表AppriseInfo中的字段appraiseContent没有取出来,下面的红字报了Caused by: java.lang.NullPointerException,我也不知道哪里写得有问题,帮我看看,非常的感谢!
我在action的方法中是这样写的:
public ActionForward SearchAdrReportNo(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws ParseException{

Integer id = Integer.parseInt(request.getParameter("idno"));
AdrReport adrReport = adrReportBiz.getAdrReportNo(id); AppriseInfo appriseBean = adrReportBiz.getAppriseInfoNo(id);
String appraiseContent = appriseBean.getAppraiseContent();
request.setAttribute("appraiseContent", appraiseContent);
System.out.println("appraiseContent:"+appraiseContent);//打出来是空值

request.getSession().setAttribute("reporteeddetail", adrReport);
return mapping.findForward("report_done");
}另外我在页面上也加了这两句:<input type="hidden" name="appraiseContent" /><td width="10%">
     <%=request.getAttribute("appraiseContent") %>
</td>

解决方案 »

  1.   

    这两张表都有一个id,我是通过这个id首先把这张表AppriseInfo查出来,然后再直接取得它的appraiseContent值
      

  2.   

    建议您把getAppriseInfoNo()这个方法和AppriseInfo类 代码贴出来看看!!!!
      

  3.   

    说明你上面一行就有问题了,appriseBean对象没有取到,看看你的getAppriseInfoNo(id);这个方法哪里出问题了吧
      

  4.   

    /**
     * 通过审批信息表的id查出相关信息
     * @param id
     * AppriseInfo
     * @throws HibernateException
     */

    public AppriseInfo getAppriseInfoNo(Serializable id) throws HibernateException;我就是调用上面的方法,来查出相关信息的,下面就是一个bean
    /**
     * 
     */
    package com.adr.report.reportmanage.bean;import com.adr.report.reportmanage.bean.AdrReport;/**
     * AppriseInfo generated by MyEclipse - Hibernate Tools
     */
    public class AppriseInfo implements java.io.Serializable {

    //Fields
    private Integer id;

    public AppriseInfo() {
    // TODO Auto-generated constructor stub
    }

    private String unitName;  

    private String appraise;

    private String appraiseContent;

    private String currentUser;

    private Integer grade; private AdrReport report;
     
    public AdrReport getReport() {
    return report;
    } public void setReport(AdrReport report) {
    this.report = report;
    } public AppriseInfo(Integer id,String unitName, String appraise, String appraiseContent, String currentUser, Integer grade) {
    super();
    this.id = id;
    this.unitName = unitName;
    this.appraise = appraise;
    this.appraiseContent = appraiseContent;
    this.currentUser = currentUser;
    this.grade = grade;
    } public String getAppraise() {
    return appraise;
    } public void setAppraise(String appraise) {
    this.appraise = appraise;
    } public String getAppraiseContent() {
    return appraiseContent;
    } public void setAppraiseContent(String appraiseContent) {
    this.appraiseContent = appraiseContent;
    } public String getCurrentUser() {
    return currentUser;
    } public void setCurrentUser(String currentUser) {
    this.currentUser = currentUser;
    } public Integer getGrade() {
    return grade;
    } public void setGrade(Integer grade) {
    this.grade = grade;
    } public Integer getId() {
    return id;
    } public void setId(Integer id) {
    this.id = id;
    }
    public String getUnitName() {
    return unitName;
    } public void setUnitName(String unitName) {
    this.unitName = unitName;
    }

    }
    看看哪里出了问题?