java - 想要在jsp页面添加动态内容

标签 java ajax jsp struts2

我在前端设计页面时使用 Struts2 标签。

现在我需要在我的 jsp 页面中放置 3 个简单字段,并在一些添加链接上动态地重复添加相同表单中的另外 3 个或 4 个字段。

例如,如果用户在添加链接上单击 5 次,则 3 或 4 字段必须在 jsp 页面上显示 5 次。

我知道 ajax 对于此目的很有用。但我仍然很困惑如何实现它。

如果有人有解决方案请回复...

提前致谢......

最佳答案

您最好的方法是使用 jquery简化 JavaScript。这个简单的 html 页面演示了该方法:

<html>
  <head>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"/>
  </head>
  <body>
    <form method="post" action="#">
      <table>
        <tbody> 
          <tr>
            <td><input type="text" name="fieldname"/></td>
            <td><a href="#" onclick="$(this).closest('tr:not(:only-child)').remove();return false;">delete</a></td>
          </tr>
          <tr>
            <td><input type="text" name="fieldname"/></td>
            <td><a href="#" onclick="$(this).closest('tr:not(:only-child)').remove();return false;">delete</a></td>
          </tr>
        </tbody>
        <tfoot>
          <tr>
            <td></td>
            <td><a href="#" onclick="var tr = $(this).closest('table').find('tbody tr:first-child').clone(true); $(tr).find(':input').val(''); $(this).closest('table').find('tbody').append(tr); return false;">add</a>
            </td>
          </tr>
        </tfoot>    
      </table>
    </form>
  </body>
</html>

这是该方法的快速概述。每个重复元素都是表中行的一部分。您可以选择任何其他类型的容器,相应地调整 jquery。重复元素位于每行的 tbody 内,有一个输入和一个删除该行的链接。请注意,仅当该行不是 tbody 的唯一子级时,它才会删除该行。我们需要始终有一种方法可以从添加链接添加新元素。添加逻辑位于 tfoot 中。添加链接找到相应 tbody 中的第一个表行,克隆它,清除任何输入字段中的所有值并将其作为新行附加到 tbody。

像我在本示例中所做的那样,将那么多 javascript/jquery 嵌入到属性中并不是一个好的做法。

关于java - 想要在jsp页面添加动态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929520/

相关文章:

c# - 在 C# 中实现 Comet 服务器

java - 算术错误:/0

php - 如何从自动完成中获取单击的输入单选值以将表单发送到 php 文件

javascript - $(document).ready(function()) 仅在jsp加载后执行

javascript - 如果登录输入为空,则将用户重新定位到注册页面。 JavaScript

java - 取消使用 WebFlux 创建的 SSE 流的正确方法

java - 如何在 Java 中按部分加载序列化对象

javascript - 无法加载资源:net::ERR_SSL_BAD_RECORD_MAC_ALERT ajax 文件上传

javascript - Laravel 使用 AJAX 下载 xls 文件

java - Google 索引页是否从 Servlet 返回?