比较jsp中的字符串

时间:2016-08-25 20:03:26

标签: jsp

我正在尝试在jsp页面中生成令牌,当用户输入错误的令牌时,我希望禁用提交按钮 我可以生成一个令牌,防止复制/粘贴就好了 但是当谈到设定条件时,问题就出现了 我尝试使用scriptlet设置条件但不会工作 请帮忙!

<%@page import="com.example.UserBean"%>
<%@page import="java.util.UUID"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"> 
</script>

<script type="text/javascript">
$(document).ready(function() {
$('#text1').bind("cut copy paste", function(e) {
    e.preventDefault();
    alert("You cannot paste the Token!");
    $('#text1').bind("contextmenu", function(e) {
        e.preventDefault();
    });
   });
   });
</script>

</head>
<body>
 <form action="LoginServlet">
    <input type="hidden" name="sourcename" value="login">
    <table>
        <tr>
            <td>User Name</td>
            <td><input type="text" name="user_name"></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><input type="password" name="pass_word"></td>
        </tr>
        <tr>


            <td>Token</td>
            <td><input type="text" id="text1" name="token"></td>
            <td>
            <%String tokenKey 
  UUID.randomUUID().toString().substring(0,8);
                %> <%=tokenKey%>

            </td>
        </tr>
        <tr>

            <td>

            <td><button type="submit">Login</button></td>
        </tr>
    </table>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您需要在代码的javascript部分生成令牌 ,即

save

或更好,进入一些隐藏元素或元素属性,然后使用JS检索其值:

<script type="text/javascript">
<% String tokenKey = UUID.randomUUID().toString().substring(0,8); %>
$(document).ready(function() {
    // here goes your binding, e.g. to change event of the #text1 element
    // and inside the function
    var generatedToken = '<%= tokenKey %>';
    var tokenFromUser = $('#text1').val();
    if (generatedToken != tokenFromUser) {
        // disable submit button
    } else {
        // enable submit button
    }   
});
</script>
... HTML ...
<tr>
    <td>Token</td>
    <td><input type="text" id="text1" name="token"></td>
    <td><%= tokenKey %></td>
</tr>

通过这种方式,您可以稍后将您的Javascript代码移动到外部文件中,它仍然有效。