首页 > jsp同一个页面form表单的数据提交问题?

jsp同一个页面form表单的数据提交问题?

下面是代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <link rel="stylesheet" type="text/css" href="./CSS/changekey.css" />
    <script type="text/javascript" src="./Script/changekey.js"></script>
    <jsp:useBean id="account" class="beans.Account" scope="session"></jsp:useBean>
    <jsp:useBean id="changekey" class="beans.ChangeKey" scope="page"></jsp:useBean>
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form id="changekey" name="changekey" method="post" action="#" onsubmit="return changekey()">

<table>
<tr>
<td>输入旧密码:</td><td><input class="put"  type="password" id="oldk" name="oldk"  /> </td>
</tr>

<tr>
<td>请输入新密码:</td><td><input class="put"  type="password" id="new1" name="new1"  /></td>
</tr>

<tr>
<td>再一次输入新密码:</td><td><input class="put"  type="password" id="new2" name="new2"  /></td>
</tr>

<tr>
<td></td><td><input class="put"  type="submit" id="new3" name="new3"  /></td>
</tr>

</table>

</form>
<%
    changekey.setId(account.getID());
    if(changekey.setOld(request.getParameter("oldk"))){ //在这一行的时候怎么让他等form、的表单提交了之后再执行?是可以用servlet解决,但是这里在jsp页面加载的时候就执行了,返回的表单内容是null,如何等提交后再执行?
        changekey.setNewkey(request.getParameter("new1"));
    }else {
        out.println("原始密码错误!");
    }
%>
</body>
</html>

if(changekey.setOld(request.getParameter("oldk"))){ //在这一行的时候怎么让他等form、的表单提交了之后再执行?是可以用servlet解决,但是这里在jsp页面加载的时候就执行了,返回的表单内容是null,如何等提交后再执行?


你这么写 说明你还没有理解 javaWeb里的前端后端。 java脚本并不是说写在最后就是最后执行。

不论你写在哪都是:

另外 jsp里及展示数据又负责数据验证处理并不好。对于其他人去阅读你的代码回非常麻烦,不过这样的实现也有不少,单纯实习功能参考以下代码, 最后,不推荐业务逻辑也数据展示写到一起!

刚开始学的时候你可以试着 把html内容遮盖住,然后写java代码,之后再倒过来吧java遮住。
你可以把他们想象成地下党接头,两拨人一直不见面,交流都是通过去固定的地方放小纸条。

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<% 
    String oldk = request.getParameter("oldk");
    String msg="";
    if(oldk!=null && !oldk.trim().equals("")){
        // 处理数据
        XXService.changeKey(oldk);
        // 处理之后跳转页面
        response.sendRedirect(request.getContextPath() + "xxx.html");
    }else{
        msg = "请输入XXX"
    }
%>

<p><%=msg%></p>
<form method="post" action="#" >
    <input type="password" name="oldk"  />
    <input type="submit" >
</form>

问出这样的问题只能说明你还没理解前端后端的关系,后端代码怎么能在前端执行呢?要执行请用前端代码。

【热门文章】
【热门文章】