执行顺序是这样的
request.getAttribute("ls");
request.setAttribute("ls",UserDAO.getUser());
第一次得到的是空,整个页面就是空的,并且程序终止。
用什么方法能解决得到空就为空,这块内容不显示就行了,其他内容显示。
request.setAttribute("ls",UserDAO.getUser());是ajax请求整个页面加载完后设置的。我不知道给发到那个地方,别灌水

解决方案 »

  1.   

    request.getAttribute("ls");为空是因为我在Action里就没设置
    问题是request.getAttribute("ls")==null时,页面就是空白的,页面的剩余部分也不加载了。
    怎么解决,空白是不显示这块内容就可以了
      

  2.   

    UserDAO.getUser()public User getUser(){
    if(this.user==null)return new User();//返回一个空的User
    return this.user;
    }
      

  3.   

    问题是request.getAttribute("ls")==null时,页面就是空白的,页面的剩余部分也不加载了。 
    re:
    这是在action中么?看你在此次请求中响了什么?我写的一个struts1.29 public ActionForward checkIdentityUnique(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    response.setContentType("text/plain;charset=GBK");
    response.setCharacterEncoding("GBK");
    StringBuffer sb = new StringBuffer();
    if(request.getParameter("identity")!=null && request.getParameter("real")!=null){
    String identity=request.getParameter("identity").trim();
    String real=request.getParameter("real").trim();
    if(UtilCollection.hasValue(identity) && UtilCollection.hasValue("real")){
    DispatchEmployee dispatch=dispatchService.displayDispatchEmployeeByCard(identity);
    if(dispatch!=null){
    String coString=new String(real.getBytes("ISO-8859-1"),"UTF-8");
    if(dispatch.getRealname().toLowerCase().equals(coString.toLowerCase())){
    sb.append("您录入派谴员工已经存在.请重新确认");
    }else{sb.append("您录入的派谴员工可能存在争议状态!");}
    }else{sb.append("该身份证号码通过了唯一性验证 :)");}
    }else{sb.append("验证身份证的唯一性需要的参数得不到满足");}
    }else{sb.append("动态验证派谴员工的身份证无法继续");}
    response.getWriter().print(sb.toString());
    return null;
    }
      

  4.   

    在ajax里面request.setAttribute是没有用的
      

  5.   

    ajax页面都不刷新,何来的request对象。
      

  6.   

    用一个变量接一下,用? :的方式判断如果为空就附一个空字符,页面用<%= %>就可以了