javascript - 将参数传递给查询字符串并触发 Javascript 函数

标签 javascript jsp jakarta-ee servlets jstl

我有一个搜索功能,可以将对象数组列表返回到我的表单中。我正在使用 JSTL 的 foreach 标记遍历列表。

<c:forEach items="${searchResults}" var="contact" varStatus="loop">
<div style="padding: 5px;">
${contact.firstName} ${contact.lastName}
<br>
${contact.primaryPhone}
<br>

//Is this the proper way to set up the url?
<a href="Contacts?search=${param.search}&id=${loop.index}">View Contact</a>

</div>
<br>
</c:forEach>

当用户单击每行内的链接时,行索引将传递给查询字符串,此时我想显示一个包含有关用户的附加信息的 div。

我有一个 javascript 函数,用于显示 div 并将其置于屏幕中心 bla bla bla,但我的问题是如何使用加载到查询字符串中的索引刷新页面,然后触发我的 javascript 函数?

我考虑过使用:

<c:if test="${not empty param.id}">
//Check if id in querystring is available and if so, display popup
</c:if>

要检查查询字符串中是否有可用索引,但我认为没有办法从 JSTL 标记中触发我的函数。

当我向 servlet 请求返回时,我应该在服务器端做一些事情而不是尝试在客户端处理吗?我只是觉得重新查询我的数据库并设置另一个请求参数是一种浪费,当我已经将我需要的信息存储在一个参数中而不是用来显示我的列表时。

最佳答案

您可以在参数检查中嵌入一个脚本标记,并在其中运行您想要的任何内容。例如,设置一些您可以稍后在页面加载完成时测试的变量。 或者,如果您在页面中嵌入参数检查的时间足够晚,只需调用您的函数即可。

<c:if test="${not empty param.id}"> 
    <script>
        runSomeFunction();
    </script>
</c:if>

关于javascript - 将参数传递给查询字符串并触发 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253134/

相关文章:

java - Struts2 文本域显示长度

java - 如何使用不同的类作为方法中的参数

java - 如何在zk中创建从右到左的选项卡框?

java - 添加外部 jar 与 bean ( war 之外)

javascript:打开网址并显示隐藏的div

java - 使用 Struts 在 JSP 中显示来自 BLOB MySQL 的文档文件

java - 使用java获取ping结果

javascript - 如何在 jquery 中解决这个问题?

javascript - JS 禁止触发事件

javascript - 是否可以组合多个相同的 catch block ?