如何使用Java在JSP中异步显示/隐藏div
在呈现JSP时,我希望在某些处理完成后以编程方式显示div标记。使用Java实现这一点的最佳方法是什么?使用jQuery,我可以这样做:如何使用Java在JSP中异步显示/隐藏div,java,javascript,jquery,html,jsp,Java,Javascript,Jquery,Html,Jsp,在呈现JSP时,我希望在某些处理完成后以编程方式显示div标记。使用Java实现这一点的最佳方法是什么?使用jQuery,我可以这样做: $('#mydiv').removeClass("hide_me"); ……或者 $('#mydiv').show(); 如何在呈现页面时用Java编程实现这一点?使用JSP时,Java在服务器上运行(与浏览器中运行的JavaScript不同),因此在JSP中使用Java if语句有条件地呈现: <% if( test="true" ) { %>
$('#mydiv').removeClass("hide_me");
……或者
$('#mydiv').show();
如何在呈现页面时用Java编程实现这一点?使用JSP时,Java在服务器上运行(与浏览器中运行的JavaScript不同),因此在JSP中使用Java if语句有条件地呈现
:
<% if( test="true" ) { %>
<DIV>....</DIV>
<% } %>
....
假设您拥有包括JSTL的标准JSP设置,并将其映射到“c”,您只需执行以下操作:
<c:if test="${myCondition}">
<div id="mDiv">
content
</div>
</c:if>
内容
从评论来看,在服务器上呈现JSP与在浏览器中呈现内容之间确实存在一些混淆。JSP中发生的一切都是服务器端的工作,必须在浏览器接收生成的文档并开始绘制它之前完全完成。您不能使用JSP来更改已经在用户屏幕上的内容。为此,您需要javascript、html5等。我想您正在寻找这样的东西:
加载/GIF动画
大量的数据。
应该不时刷新到浏览器。
这需要几秒钟。。。
$(“#加载程序”).hide();
$(“#结果”).show();
你是什么意思?如果满足bean中的条件,则输出一些内联Javascript?不太确定您的意思;如果响应暂停是因为您在Java中以适当的同步方式执行某些操作,那么响应就是暂停的,您不能继续响应修改DOM.No。我的JSP正在加载一组需要很长时间才能完成的数据。在JSP中,我隐藏了div标记,因为我不想在加载所有数据之前显示表。因此,当JSP完成数据加载过程时,我只想取消隐藏div标记。您可以从AJAX调用调用繁重的计算,然后在准备就绪时显示它。使用AJAX和服务器端处理是我们下一版本的计划。我现在正在寻找一个更简单的临时解决方案。使用Scriptlet不是不鼓励使用JSTL和UEL吗?请随意将其更改为JSTL,但您可以使用JSP输出Javascript。我想这就是布赖恩想要的。这本可以奏效,但我找到了另一个解决方案。我填充的表是一个DataTable,因此我能够钩住FNINTComplete回调,在数据完全加载后显示div标记。谢谢你的帮助和想法。