当前位置: 代码迷 >> Java Web开发 >> 关于表单传参数的有关问题
  详细解决方案

关于表单传参数的有关问题

热度:253   发布时间:2016-04-13 22:45:07.0
【求助】关于表单传参数的问题。
我想第二个jsp用get Parameter得到第一个jsp传过来的参数,但是获得的却是null



代码如下:
我第一个jsp
<%@page language="java" import="java.util.*,java.sql.*,java.text.SimpleDateFormat" pageEncoding="gb2312" %>
<html>
<style type="text/css">
#d1{
background-image: url(css1.png);
background-repeat: repeat-y;
position:fixed; 
right:0px;
top:300px;
width:100%;
height:35%
}
</style>


<body background=bg.jpg>



<form action="setzc.jsp" name="login" method="post">
<div id="d1" align="center">
<br><br><br>
用户名<input name="id" type="text"><br>
<br>
昵称 <input name="name" type="text"><br><br>
密码 <input name="password" type="password"><br><br>
确认密码 <input name="password2" type="password"><br><br>
<input type="button" onclick="f()" value="注册">
<input type="button" onclick="b()" value="返回">
</div>>
</form>
<script type="text/javascript">
function f(){
id=document.login.id.value;
password=document.login.password.value;
password2=document.login.password2.value;
if(id==""){
alert("用户名不能为空");
document.Login.id.focus();
return;
}
else if(password==""){
alert("密码不能为空");
document.Login.password.focus();
return;
}


if(password==password2)
{
alert("注册成功!");
document.login.submit();
window.location.href="setzc.jsp";



}
}


function b(){
window.location.href="Home.jsp";
}
</script>

</body>
</html>










第二个jsp
<%@page language="java" import="java.util.*,java.sql.*,java.text.SimpleDateFormat" pageEncoding="gb2312" %>


<html>


<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/final","root","aaaa8888");
Statement stat=conn.createStatement(); 
String sql;
request.setCharacterEncoding("gb2312");
String id=request.getParameter("id");
String password=request.getParameter("password");
String name=request.getParameter("name");
out.println(id);
sql="insert into user2(id,password,name)values(?,?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
if(id!=""&&password!=""&&name!=""){
ps.setString(1,id);
ps.setString(2,password);
ps.setString(3,name);
ps.executeUpdate();
}
ps.close();
stat.close();
conn.close();
%> 
</body>
</html>


------解决思路----------------------
看代码,你是用地址跳转的,你得在地址后加参数。。。貌似。。。
------解决思路----------------------
document.login.submit();是提交表单,会自动跳转。
window.location.href="setzc.jsp";这个是浏览器跳转,没有提交表单。
------解决思路----------------------
document.login.submit();
window.location.href="setzc.jsp";
第二句去掉....表单提交了就直接到第二个页面了,如果你再写个location的这个肯定就没有参数撒。还有JavaScript那些变量前面要加个var。
id=document.login.id.value;
password=document.login.password.value;
password2=document.login.password2.value;
改成
var id=document.login.id.value;
var password=document.login.password.value;
var password2=document.login.password2.value;
------解决思路----------------------
js代码规范一点
  相关解决方案