mangobxl
mango不甜
2020-12-15 08:57
采纳率: 50%
浏览 0

login2给tag传值,但tag却并没有值返回给tag,login2里的程序片也没有执行

login1.jsp

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<head><title>解忧杂货铺</title></head>
<BODY bgcolor=pink><FONT Size=4>
<% session.setAttribute("customer","guke");%>
<FORM action ="login2.jsp" method="post" name=form>
<P><div align="center">欢迎来到解忧杂货铺,请登录,login1.jsp
<P>用户名
<input type ="text" name="user">
<p>密  码  
<input type ="text" name="key">
<P>
<input type="submit" value="登录" name=submit>
<p>新用户请注册
<A href ="register.jsp">注册</A>
</div>
</FORM>
</FONT></BODY></HTML>

 

login2.jsp

<%@ page contentType= "text/html ;charset=gb2312"%>
<%@ taglib tagdir ="/WEB-INF/tags" prefix="passing" %>
<HTML><BODY bgcolor=PINK><FONT Size=4>
<%
  String a=request.getParameter("user");
  String b=request.getParameter("key");
if(a==null||b==null){
    a="";
    b="";%>
<div align="center">用户 名或密码不正确,请重新登录<br>
<a href="1ogin1. jsp">login1</a></div>
<%}
if(a.length()>0&&b.length()>0){
%>
<passing:test passname="<%=a%>" passkey="<%=b%>"/>
<%
if(message=="text1"){
%>
<div align="center"> 登录成功,请点击下面链接进入管理页面<br>
<a href="shopadmin.jsp">shopadmin</a><br>
</div>
<%}
if(message=="text2"){
    %>
<div align="center">登录 成功,请点击下面链接进入购买界面<br>
<a href="shoplist.jsp">shoplist</a><br>
</div>
<%}
if(message=="text3"){
%>
<div align="center">用户名或密码不正确,请重新登录<br>
<a href="login1.jsp">login1</a></div>
<%}
}
%>
</BODY>
</HTML>
 

 

test.tag

<%@ tag pageEncoding="UTF-8" %>
<%@ tag import="java.sql.*" %>
<%@ attribute name="passname" required="true" %>  
<%@ attribute name="passkey" required="true" %>
<%@ variable name-given="message" scope="AT_END" %>
<%  
    StringBuffer result;     
    result=new StringBuffer();
    try{  Class.forName("com.mysql.jdbc.Driver");
    }
    catch(Exception e){} 
    Connection con;
    Statement sql; 
    ResultSet rs;
    try{  result.append("<table border=1>"); 
          String uri="jdbc:mysql://127.0.0.1/zhsy";
          String user="root";
          String password="BXL123";
          con=DriverManager.getConnection(uri,user,password);
          DatabaseMetaData metadata=con.getMetaData();
          ResultSet rs1=metadata.getColumns(null,null,"cs",null);
          int ziduan=0;
          result.append("<tr>");
          while(rs1.next()){
             ziduan++;
             String clumnName=rs1.getString(2);
             result.append("<td>"+clumnName+"</td>");
          }
          result.append("</tr>");
          sql=con.createStatement();
      String condition="SELECT * FROM cs Where name='"+passname+"'AND key='"+passkey+"'";
          rs=sql.executeQuery(condition);
            rs.next(); 
            if(rs.getRow()==1)
            {
              if(passname.equals("admin")){
             jspContext.setAttribute("message","text1");
            }
          else{
             jspContext.setAttribute("message","text2");
            }
        }
         else{
            jspContext.setAttribute("message","text3");
        }
        rs.close();
            con.close();
    }
    catch(SQLException e){
          jspContext.setAttribute("message","发生异常:"+e);
}

  • %> 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Lazy33
    Lazy33 2020-12-15 14:32
    已采纳

    我是vue出身,你这jsp,我。。一半一半把。。有以下建议

    1、首先看到你的login2 是访问成功了。code200 应该没问题  可以的话,你应该看一下传参格式,是不是你后台字段没对上。比如说number类型 你的却是String

    2、控制台报错sql  肯定是数据库的问题。原因可能是你之前的旧数据,和新数据的字段对不上。所以取出出错,比如说你更新数据库,给一个人加了身高的字段,新数据可能有这个参数,但是旧数据没有,导致你访问的页面出不来。

    点赞 评论
  • Lazy33
    Lazy33 2020-12-15 11:04

    给人看看控制台的Network呗  你放到Element也看不出啥来/doge

     

    点赞 评论
  • mangobxl
    mango不甜 2020-12-15 13:06

     

    点赞 评论
  • mangobxl
    mango不甜 2020-12-15 22:45

    谢谢兄弟,问题我找到了

    我把sql语句改为了String condition="SELECT * FROM cs Where cs.name='"+passname+"'AND cs.key='"+passkey+"'";就解决了

     

    点赞 评论

相关推荐