我希望在渲染JSP时完成一些处理后以编程方式显示div标记。使用Java做到这一点的最佳方法是什么?使用jQuery我会这样做:
$('#mydiv').removeClass("hide_me");
...或...
$('#mydiv').show();
如何在渲染页面时以编程方式在Java中执行此操作?
答案 0 :(得分:5)
假设你有标准的JSP设置,包括JSTL并将其映射到'c',你可以这样做:
<c:if test="${myCondition}">
<div id="mDiv">
content
</div>
</c:if>
从评论中可以看出,在服务器上渲染JSP与在浏览器中渲染内容之间存在一些混淆。 JSP中发生的一切都是服务器端工作,必须在浏览器接收生成的文档并开始绘制之前完全完成。您无法使用JSP来更改用户屏幕上已有的内容。你需要javascript,html5等。
答案 1 :(得分:2)
使用JSP Java在服务器上运行(与在浏览器中运行的JavaScript不同),因此有条件地使用JSP中的Java if语句呈现<DIV>
:
<% if( test="true" ) { %>
<DIV>....</DIV>
<% } %>
答案 2 :(得分:0)
我认为你正在寻找这样的东西:
<div id="loader">Loading / GIF animation</div>
<div id="result" style="display:none;">
Lots of data.
Should be flushed to the browser every now and then.
This will take seconds...
</div>
<script type="text/javascript">
$("#loader").hide();
$("#result").show();
</script>