我是想在通过form 让用户输入密码 对密码进行MD5加密之后再提交给Action  
怎么能在JSP中对输入进来的参数 立即进行处理之后再post出去?

解决方案 »

  1.   

    我的代码在下面 该怎么改啊?<%@ page contentType="text/html; charset=utf-8" language="java" %>
    <%@ page language="java" import="zgh.*" %>
    <jsp:useBean id="oMD5" scope="page" class="zgh.MD5"/><%@ page contentType="text/html; charset=utf-8" language="java" %>
    <%@ page language="java" import="zgh.*" %>
    <jsp:useBean id="oMD5" scope="page" class="zgh.MD5"/>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>
    register
    </title>
    </head>
    <body>
    <h1>Please input your name and password:</h1>
    <p>
    <form action="servlet/LoginServlet" method="post">
    <table>
    <tr>
    <td>Your name:</td>
    <td><input type="text" name="username"></td>
    </tr>

    <tr>
    <td>Password:</td>
    <td><input type="password" name="pw"></td>
    </tr>
    <tr>
    <td>input password again:</td>
    <td><input type="password" name="pw2"></td>
    </tr>

    <% 
       String pwmd = request.getParameter("pw");
       String pwmd2 = request.getParameter("pw2");
    %>

    <input type="hidden" name="password" value=<%= oMD5.getMD5ofStr(  pw )%>/>
    <input type="hidden" name="password2" value=<%= oMD5.getMD5ofStr( pw2 )%>/>


    <tr>
    <td><input type="submit" value="提交"></td>
    <td><input type="reset" value="重置"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  2.   

    你可以试着用AJAX做呀,在<input >这个里面搞一个onkeydown或者onkeypress事件都可以呀,<input>里面的值一变动就让他进入action,然后在action里调用DigestUtil.md5Hex()方法加密
    当然你可以根据自己的习惯去调用md5Hex()等方法,只是这个方法用的较多!
      

  3.   

    <script language="javascript" >
        function md(String pw)
        {
         pw=oMD5.getMD5ofStr(pw);
             return pw;
        }
        </script >

    <tr>
    <td>Password:</td>
    <td><input type="password" name="password" onkeypress="this.value=md(this.value)"></td>
    </tr>
    <tr>
    <td>input password again:</td>
    <td><input type="password" name="password2" onkeypress="this.value=md(this.value)"></td>
    </tr>怎么没有用了 传过去的参数还是没有加密处理过的呀
      

  4.   

    你试试直接在javascript函数里面  直接给表单元素赋值  检查下AJAX执行成功没有  别AJAX都没执行或者出错了
      

  5.   


    你要用ajax跳转到action里加,你直接在页面上把java代码写在javascript里面是不会调用的!
    你没发生一次事件便跳到action里加密一次,这样等于是无刷新加密,就好象是在页面上加密是的