【问题标题】:Call different servlets based on User input根据用户输入调用不同的 servlet
【发布时间】:2017-12-11 05:45:28
【问题描述】:

这在技术上可行吗?

  1. 我有一个带有文本值和提交按钮的 jsp 页面。
  2. 单个 jsp 与多个 servlet 相关联。
  3. 用户在文本值中给出值,即 servlet 名称。
  4. 根据该文本值,必须调用 servlet。

例子

jsp

servlt 名称:* 用户输入* 提交

Servlet1, servlet 2, servlet3 --> 与jsp关联(首先可行)

那么如果用户输入:servlet1 作为 servlet 名称,那么只需调用该 servlet。

【问题讨论】:

  • 使用 jquery 和 ajax
  • 为什么要这样工作?与其拥有 3 个 servlet,不如拥有一个并开展不同的业务(接口/功能等)。不在 servlet 中,只需切换请求的业务(如您所说的 servlet 名称)并调用相关业务。

标签: javascript java jsp servlets


【解决方案1】:

像@Scary Wombat 建议的那样使用 jquery,非常有帮助。

单击表单中的提交按钮将不得不更改表单的操作属性。

你可以这样做:

注意:Servlet 资源不可用,我使用了示例名称​​。

$("#submitBtn").click (function () {
alert($("#form1").attr("action")+" before");
$("#form1").attr("action",$("#className").val());
alert($("#form1").attr("action")+" after");
$("#form1").submit();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1" action="Class1">
<input type="text" id="className"/>
<input type="submit" value="submit" id="submitBtn">
</form>

【讨论】:

  • 嗨...感谢您的输入....但我没有在 Jquery 上工作过....我在 servlet 中有所有 ma 逻辑...你能解释一下我如何将它与jQuery
  • 我建议您将上述逻辑放入您的 JSP。在上面的代码中发生的事情是:表单标签具有 action 属性,它将采用您的 servlet 类。在 javascript 中,借助 jquery,您可以在单击提交按钮时替换 action 属性的值。在您的 JSP 中,将 javascript sn-p 放入另一个脚本标记中,例如
猜你喜欢
  • 2023-02-01
  • 2014-08-12
  • 2016-12-09
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多