急求<jsp:param name ="name" value ="<%=name%>"/>什么意思

<%@ page import = "java.sql.*"%>
<html>
<head><title>用户登录</title></head>
<body>
<form action="welcome.jsp" method="post">
<center>
<hl>用户登录</hl>
<hk></hk>
<%
String name = request.getParameter("uname");
String password = request.getParameter("upassword");
boolean flag = false;
String idd =null;
%>
<%
final String URL ="jdbc:odbc:DataCollationSys";
final String DRIVER ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
%>

<%
try{
Class.forName(DRIVER);
sql = "SELECT id FROM users WHERE username =? and pwd=?" ;
conn = DriverManager.getConnection(URL,"sa","xqx19891025");
pstmt = conn.prepareStatement(sql);
// sql ="SELECT id FROM users WHERE username='"+name+"'and pwd='"+password+"' ";

//sql = "SELECT username FROM users WHERE pwd = '123456'";
//sql = "SELECT id FROM users WHERE username ='beeshow' and pwd ='12345' ";
pstmt.setString(1,name);
pstmt.setString(2,password);
rs = pstmt.executeQuery();

if(rs.next()){
String id = rs.getString("id");

System.out.println(id);
flag = true;

}
rs.close();
pstmt.close();
conn.close();
}
catch(Exception e ){
out.println(" error in driver");
}
if(flag){
%>
<jsp:forward page = "print data.jsp">
<jsp:param name ="name" value ="<%=name%>"/>
</jsp:forward>
<%}
else{
%>
<jsp:forward page="response.jsp"/>
<%}
%>
</center>
</body>
</html>

我可以改成<jsp:param id="id" value ="<%=id%>"/>么

<jsp:param 标准动作是用来传指的……他是以键值对形式传的。
name 属性是参数的名称,相当于键
value 属性-指定参数的值 。
你改成<jsp:param id="id" value ="<%=id%>"/>
其中name属性的值你随便给。value 的值也随便给。但是你给的是"<%=id%> 这个表达式中id必须是已经存在的一个变量。<jsp:param name ="name" value ="<%=name%>"/>表示的是将你输入的用户名称request.getParameter("uname");传过去。追问

正像我程序里的那样样id变量是我从数据库中获取的 并且赋值给id变量了
这样我可以在另外的jsp中获取到 id么 通 过 request.getParameter("id")
谢谢

追答

呵呵,只要能拿到值,也就是说存在变量id就可以

追问

但是 我这里 报错啊 The server encountered an internal error () that prevented it from fulfilling this reques 崩溃啊
我的本意是想 通过用户名登录 获取数据表中的id值然后根据这个id继续访问数据库其他内容

追答

你的错误我没有看,不过你不是在登录吗?当你提交后就可以拿到你输入的姓名和密码吗?既然这样,不是可以验证你的登录信息吗?
用户登录名称肯定也是不允许相同的,如果登录成功,你可以直接通过用户名称去查询用户的其他信息。这样也是可以的,先去获取id然后通过id去获取信息,不是也很麻烦的吗??

温馨提示:答案为网友推荐,仅供参考
相似回答