一尘不染

如何仅在JSP中执行Java代码后才显示页面

jsp

index.jsp包含将获取从一个数据库中的一些图像和文字的Java代码。

在我写的JavaScript文件中。

$(document).ready(function(){
    //When Document is Ready, Show the Main Page
    $("#showifjavaenabled").fadeIn(1000);

    });

因此,一开始它DIV showifjavaenabled是隐藏的,但是我注意到,即使它在一秒钟后出现,并不是所有的Java都被执行,因为它们实际上很多,它们需要加载的时间并不大,只有一秒钟或二,但仍然看起来很糟糕,.show() or .fadeIn()只有在所有Java代码都执行完后,才能显示此页面?


阅读 457

收藏
2020-06-10

共1个答案

一尘不染

这是不将Java代码放入JSP的原因之一。

如果要进行服务器端业务,则应该在服务器端进行,然后将请求与所有已加载的数据一起转发到JSP。

或者,您也可以使用AJAX调用来执行Java前端操作,并使用某种类型的图块(页面已加载,使用ajax加载的小框仍在运行进度条,直到他完成操作。

<% %>尽可能避免使用scriptlet(),并分开概念以获得更好的结果。


编辑:您应该真正尝试从Struts2之类的框架开始(不是Struts1,这更困难,功能也更弱)。

这并不困难,有据可查,而且您花在学习“ Hello World”和设置应用程序上的时间会立即从功能和简便性方面恢复,并且可以将其用于将来的应用程序。

将巨大的逗号分隔的字符串从服务器发布到客户端,然后对其取消令牌化,这不是面向对象编程的。

OOP将是您需要使用的每个概念性对象的一个​​对象,并通过Action向JSP公开,并在JSP中使用EL或OGNL标签进行访问…

我知道这一步似乎很重要,但这是值得做的…

或者,您可以继续使用反模式,反传统的技术并尝试破解此问题,也许今天您将终止该软件,但明天您将遇到相同的问题。

我的2美分(正如我所说,几年前我处在您的境地…)

2020-06-10