这与这个问题有关:
how-can-i-port-a-legacy-java-j2ee-website-to-a-modern-scripting-language
但焦点更窄。
由于各种各样的原因,我们正在从头开始重写我们的遗留Java应用程序,但我们试图保持用户界面的原样。
在其中一个答案中,有人说:
选择有代表性的页面,并将它们重新加工成适当的模板。您可以使用一些遗留的JSP页面。不过,不要在这件事上浪费太多时间。使用HTML创建Django模板。
问题是,应用程序大约有15个不同的“头版”,每个页面主要由一个适当混合和匹配的子集~100 jsp文件组成。我相信jsp文件中的内容分区可能是我想要用于Django模板的分区;因此,我宁愿将它们转换为模板,也不愿从HTML开始,重新计算出正确的分区。
所以,我真的希望有一个合理的方法来进行这种转换。
我是Django的新手&从未与javascript合作过(我团队中的其他人),所以任何帮助都会受到极大的感谢:如果你能推荐一个自动化或半自动的工具,或者建议一种基本的方法、技巧和技巧、建议、恐怖故事。
提前感谢!
根据Vinay的答复编辑:
我认为这是相当普通的jsp,不涉及第三方库。虽然有脚本,但它们被很好地隔离到自己的文件中。
在这一点上,我认为我们需要一些我们可以改进的东西--稍后的最佳实践。
关于扩展和包含,这让我认为我们至少应该仔细考虑我们的头版的设计,但是可以用最少的方法来转换这些小片段。
发布于 2009-07-09 05:07:24
您可能什么都不知道--这在很大程度上取决于细节,例如您使用第三方库和自定义JSP标记。您只是想用最少的工作量在Django中实现它,还是希望完成的站点反映Django的最佳实践?例如,在Django中,使用extends特性设计模板是一种常见的做法--尽管Django确实有一个类似于<jsp:include/>的include标记,但人们看到extends的频率更高,而include的频率要低得多。在JSP世界中,extends功能不是普通JSP的一部分,而是使用第三方库(如SiteMesh或Tiles )实现的。
如果我面临的任务是“获得有用的东西--快速!”,我的第一种方法将是编写一个Python脚本,该脚本解析所有JSP文件(使用基于正则表达式的相当简单的解析器),并抛出等效的Django模板文件,并在执行过程中标记硬文件。它可能不是很漂亮,也不是所有事情都做得很好,但是它是系统的,您将得到一份需要手工完成的事情的清单(例如需要实现的模板标记)。这种方法增加价值的可能性与JSP代码的整洁和系统程度成正比,无论您是否使用scriptlet等等。
https://stackoverflow.com/questions/1101836
复制相似问题