【问题标题】:How to pass id value from JSP to select query as input before submit?如何在提交之前从 JSP 传递 id 值以选择查询作为输入?
【发布时间】:2011-03-26 07:48:52
【问题描述】:

提交前如何在scriptlet中获取ID值?
我的实际场景是——我创建了一个 JSP 页面,其中员工 ID 是输入。现在在模糊中,我想获取此 ID 并将其传递给 SQL 查询以进行验证。是否可以在提交表单之前将 ID 值发送到 SQL?如果是这样,请以示例相应地指导我。如果我使用,request.getParameter 的 ID 值为 null

【问题讨论】:

  • 请提供您的一些代码。如果我对您问题的观点与您的观点相同,那么有很多方法可以做到这一点。如果可能,请避免使用 scriptlet。见这里stackoverflow.com/questions/3177733/…

标签: javascript jsp


【解决方案1】:

发送一个ajax请求。 jQuery 在这方面非常有帮助。启动示例:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Test</title>
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script>
            $(document).ready(function() {
                $("#id").blur(function() {
                    $.getJSON("validateId", $(this).serialize(), function(data) {
                        $("#id_message").text(data.valid ? '' : 'invalid!');
                    });
                });
            });
        </script>
        <style>
            .error { color: red; }
        </style>
    </head>
    <body>
        <form action="someservlet" method="post">
            <label for="id">id</label>
            <input id="id" name="id" />
            <span id="id_message" class="error"></span>
            <br/>
            <input type="submit">
        </form>
    </body>
</html>

使用servlet 映射到/validateId 的URL 模式并在doGet() 方法中执行以下操作:

boolean valid = validateId(request.getParameter("id"));
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{valid:" + valid "}");

就是这样。 validateId() 方法示例当然应该执行 DB 工作并根据结果返回 truefalse

请注意,您仍然需要在服务器端在 URL someservlet 后面的 servlet 中执行相同的验证。 JavaScript 是可禁用/可欺骗/可破解的。当服务端验证失败时,只需将消息放在请求范围内的一个map中,让servlet重新显示JSP,让JSP使用EL显示消息。

            <span id="id_message" class="error">${messages.id}</span>

【讨论】:

    【解决方案2】:

    ...是的,通过使用 javascript,您的 ajax 调用必须与服务器通信,这里没有示例,但您应该能够通过“谷歌搜索”找到很多示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      相关资源
      最近更新 更多