gpt4 book ai didi

java - 如何在 struts2 迭代器中给出超链接

转载 作者:行者123 更新时间:2023-12-01 11:57:22 24 4
gpt4 key购买 nike

我正在使用struts 2迭代器JSP上打印ArrayList(学生的详细信息)字符串。由于 ArrayList 中的详细信息数量较多,我想到保留一个指向其中一个字段的超链接,以便每当用户单击任何学生的姓名时,都会显示该学生的其他详细信息。就像点击调用一个操作一样,我可以从那里转到 Dao 来获取该学生的其他详细信息。

我的问题是如何在迭代器中保留指向元素的超链接,即使如此如何将名称传递给操作?谁能帮我解决这个问题吗?

    <table class="display" border="1">
<tr>
<th>Username</th>
<th>Role</th>
<th>Name</th>
<th>Surname</th>
<th>Contact number</th>
<th>Email</th>
</tr>
<s:iterator value="list">
<tr>
<td><s:property value="userName"/></td>
<td><s:property value="role"/></td>
<td><s:property value="name"/></td>
<td><s:property value="initial"/></td>
<td><s:property value="contact"/></td>
<td><s:property value="email"/></td>
</tr>
</s:iterator>

假设此打印 __aadya__、__rolenum__、__name__、__surname__、__contact__、__email__。当最终用户单击用户名时,他应该能够获取 aadya 的其他详细信息。

最佳答案

您可以在 several ways 中执行此操作.

  1. 立即加载详细信息,并在隐藏它们的情况下渲染页面

    如果您的表格是分页的(而且应该如此),并且每页显示例如 10 或 50 行,您可以评估是否需要调用一个操作,或者是否可以/方便地加载所有学生以及他们的详细信息,将它们隐藏在页面中。此时,单击用户名将触发一个简单的 JavaScript 来显示/隐藏页面中已有的该学生的详细信息。

  2. 通过表单帖子加载详细信息

    用指向加载学生详细信息的操作的表单包围每个用户名,并包含带有 id 的隐藏参数,或将其放入查询字符串中。

  3. 通过 AJAX 调用加载详细信息

    将 Javascript 事件附加到元素( anchor 、div、td 本身等),对加载学生详细信息的操作执行 AJAX 调用,解析响应(可以是 JSON,或JSP 片段或 Stream...)将其放入页面中(通过手动创建 HTML 元素,或将响应按原样注入(inject)到目标 div 中)。 SO 有几个例子,比如 thisthis 。请记住不要将 struts2-dojo 标签用于 AJAX,因为它们很久以前就已被弃用...使用原始 jQuery(在本例中更好)或 Struts2-jQuery-plugin(同样好)。

解决方案 1 速度超快,我想这正是您所需要的。解决方案 3 也很好,因为像解决方案 2(旧方法)一样,仅仅为了获取单个数据对象而重新发布整个页面是一种耻辱。

关于java - 如何在 struts2 迭代器中给出超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28336063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com