jsp调用javaBean的问题

teayear
前端领域优质创作者
博客专家认证
2014-06-16 11:02:26
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@page import="com.jspdev.ch6.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>购物车登陆界面</title>
</head>
<body>
<form action="checklogin.jsp" method="post">
用户:<input type="text" name="userid"/>
密码:<input type="password" name="pwd"/>
<input type="submit" value="登陆"/>
</form>
</body>
</html>
转向checklogin.jsp页面出现了问题,其中,调用了javaBean,Cart类在此不赘述。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<jsp:useBean id="cart" class="com.jspdev.ch6.Cart" scope="session">
<jsp:setProperty name="cart" property="*"/>
</jsp:useBean>
<%
session.setMaxInactiveInterval(900); //设置session超时时间是30分钟;
%>
<%
String nextpage;
if(cart.getUserId().equals("china"))
nextpage="shopping.jsp";
else
nextpage="login.jsp";
%>
<jsp:forward page="<%=nextpage%>"/>
</body>
</html>

一直提示肯message An exception occurred processing JSP page /checklogin.jsp at line 19

description The server encountered an internal error that prevented it from fulfilling this request.

exception
不清楚是如何修改,请高手指点。
...全文
382 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
teayear 2014-06-24
表单属性的问题,应该是userId,第一次使用javaBean,这次搞定了。呵呵,谢谢各位!!!!
  • 打赏
  • 举报
回复
兔子托尼啊 2014-06-17
cart 里面 userid 看看大小 写等。
  • 打赏
  • 举报
回复
zy_think123 2014-06-17
你应该没有把userid封装到cart里面吧,你的那个setProperty是不会自动把请求参数封装到里面的
  • 打赏
  • 举报
回复
LinyangMeng 2014-06-17
5楼正解 表单属性和bean属性要对应 set-gets自动生成最好
  • 打赏
  • 举报
回复
表单属性userid,bean属性cart.getUserId() 明显不对应,id的i保持同步。
  • 打赏
  • 举报
回复
蜗牛- 2014-06-17
引用 3 楼 zhangchen124 的回复:
测试了下是cart不为空,但是getUserId为空,请问如何处理,也login.jsp页面没有传递过来值吗?
应该是的。 将
<jsp:useBean id="cart" class="com.jspdev.ch6.Cart" scope="session">
        <jsp:setProperty name="cart" property="*"/>
    </jsp:useBean>    
    <%
        session.setMaxInactiveInterval(900);    //设置session超时时间是30分钟;
    %>
    <% 
        String nextpage;
        if(cart.getUserId().equals("china"))
            nextpage="shopping.jsp";
        else
            nextpage="login.jsp";
     %>
     <jsp:forward page="<%=nextpage%>"/>
这一段放到后台servlet中测试一下,后台可以打断点,方便调试。
  • 打赏
  • 举报
回复
teayear 2014-06-17
测试了下是cart不为空,但是getUserId为空,请问如何处理,也login.jsp页面没有传递过来值吗?
  • 打赏
  • 举报
回复
蜗牛- 2014-06-16
引用 1 楼 magi1201 的回复:
后面应该还有更详细的异常信息吧。 检查下是否是cart.getUserId()为空导致的空指针呢 换个写法,将常量"china"写在前面,
if("china".equals(cart.getUserId()))
对了,一并检查下cart,也要防止cart为空
  • 打赏
  • 举报
回复
蜗牛- 2014-06-16
后面应该还有更详细的异常信息吧。 检查下是否是cart.getUserId()为空导致的空指针呢 换个写法,将常量"china"写在前面,
if("china".equals(cart.getUserId()))
  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2014-06-16 11:02
社区公告
暂无公告