Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在struts2迭代器中提供超链接_Java_Jsp_Struts2 - Fatal编程技术网

Java 如何在struts2迭代器中提供超链接

Java 如何在struts2迭代器中提供超链接,java,jsp,struts2,Java,Jsp,Struts2,我正在使用struts2迭代器在JSP上打印ArrayList(学生的详细信息)字符串。由于ArrayList中的详细信息越来越多,我想保留一个指向其中一个字段的超链接,这样每当用户单击任何学生的名字时,该学生的其他详细信息都会出现。像这样,单击调用一个动作,我可以从中转到Dao以获取该学生的其他详细信息 我的问题是,如何在迭代器中保留指向元素的超链接,甚至如何将名称传递给操作??谁能帮我解决这个问题 <table class="display" border="1"> &l

我正在使用
struts2迭代器
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> 

用户名
角色
名称
姓
联系电话
电子邮件
让我们假设它打印
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。当最终用户单击用户名时,他应该能够获得aadya的其他详细信息。

您可以在中完成此操作

  • 急切地加载详细信息,并隐藏页面

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

  • 使用表单帖子加载详细信息

    用一个表单围绕每个用户名,该表单指向加载学生详细信息的操作,并包含一个id为的隐藏参数,或将其放入Querystring中

  • 使用AJAX调用加载详细信息

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


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

    您有什么确切的问题?只需使用S2标记,我已经在jQuery中使用了ajax
    我的脚本是
    $('.userName')。单击(function(){var id=$(this.attr('id');var ajax=new-XMLHttpRequest();ajax.open(“POST”,“getUserDetails”,false);ajax.send(id);})我在这里获得用户名。我可以得到这个特定用户的角色吗?可以,但不应该。获得用户ID后,在操作中在服务器端加载其角色及其详细信息。否则,用户只需使用firebug编辑页面即可获得角色