JSP学习之表单无法正常显示

JSP学习之表单无法正常显示

  • 问题描述
  • 问题检查
  • 问题解决

问题描述

在jsp文件中,加入随string类型的长度判断if语句之后,表单无法正常显示出来。问题代码如下:
问题代码


    <%
    HttpSession sessionId=request.getSession();
    if (session.isNew()){
        response.getWriter().println("session创建成功,session的id是:"+sessionId);
    }else {
        response.getWriter().println("服务器已经存在该session了,session的id是:"+sessionId);
    }
    String str = request.getParameter("boy");
    /*---------------------问题部分--------------------*/
    if (str.length()==0){
        response.getWriter().println("session的id是:"+sessionId);
        session.setAttribute("txt",new String());
    }else {
        session.setAttribute("txt",str);
    }
    /*-------------------------------------------------*/
%>
    

输入字符串:

点击转到computer.jsp页面

网页情况
JSP学习之表单无法正常显示_第1张图片

问题检查

注释掉if部分语句,发现from表单可以正常显示,但是不懂为什么会这样。
注释部分代码

//    if (str.length()==0){
//        response.getWriter().println("session的id是:"+sessionId);
//        session.setAttribute("txt",new String());
//    }else {
        session.setAttribute("txt",str);
//    }

网页情况
JSP学习之表单无法正常显示_第2张图片

问题解决

问题似乎出现在判断语句上,原代码if (str.length()==0)我是想对当表单输入为空时的情况做一个txt的创建和赋予空字符串的操作。
但是当表单输入为空时str==null,所以判断语句应该改为if (str==null)才对。
最终版代码


    <%
    String str = request.getParameter("boy");
    if (str==null){
        session.setAttribute("txt",new String());
    }else{
        session.setAttribute("txt",str);
    }
%>
    

输入字符串:

点击转到computer.jsp页面

网页情况
JSP学习之表单无法正常显示_第3张图片

你可能感兴趣的:(JSP)