在构建Java网站时,如何将标记与应用程序代码分开?

时间:2009-01-20 11:11:06

标签: java netbeans

我是一名.NET Web开发人员,刚刚被要求使用NetBeans IDE 5.5生成一个小型演示网站。到目前为止,我还没有使用Java的经验。

我遵循了几个快速教程,一个只使用JSP文件,另一个使用servlet。我在这个早期阶段的担心是看起来很难让我的应用程序代码远离我的标记。

使用JSP文件看起来与传统ASP的旧时代非常相似。另一方面,servlet看起来很有用,但似乎涉及大量写出输出流的标记,我也不满意。

是否有相当于ASP .NET代码隐藏模型,或任何其他分离标记和代码的策略?是否可以在JSP中保留标记,然后使用JSP中的servlet?

7 个答案:

答案 0 :(得分:3)

使用纯Java EE技术后,您无法使用ASP.NET代码执行类似操作。您需要使用像Spring MVC或Struts这样的MVC框架。我们的想法是创建控制器(Java类)和JSP页面,并配置一个操作以将JSP页面与控制器绑定。

它不像ASP.NET那样简单,因为它需要配置和外部框架。

Netbeans嵌入了JSF框架。看看这个tutorial

答案 1 :(得分:2)

关于Java的问题在于它并没有像.NET那样“捆绑”东西......你通常会去寻找货物。

这使得Java中的Web应用程序开始变得艰巨,因为有很多选项。其中许多是基于JSP构建的,这是一个优势。

如果您开始使用vanilla JSP,那么您将不会玩得开心。否则,我会建议使用Wicket,Stripes或Spring MVC。

Stripes可能是三者中最简单的一个(Spring有点复杂,Wicket在概念上与其他两个不同)。说过Spring MVC可能是三者中使用最多的..

所有Stripes确实是JSP和ActionBeans。操作bean是包含操作的Java类,这些操作是执行操作的方法。这些ActionBean类还包含当前页面的数据。

This page提供了有关Stripes的更多信息。

答案 2 :(得分:1)

Wicket具有“正确的标记/逻辑分离”(正如他们所说)。

答案 3 :(得分:1)

您可能需要查看Custom Tag Libraries in JSPs

答案 4 :(得分:1)

对于一个简单的网站,我会使用Struts和Tiles,并利用它们提供的Tag Libs使JSP看起来整洁并标记,并将代码分离为Controller中的Actions - Action只是一个块Struts servlet在完成工作后调用的代码。

获得Struts 2和Tiles的基础知识不需要很长时间,您可以轻松地在一天内完成它。

是的,Servlet在编写这样的系统时非常简单,而且很容易在那里使用HTML生成器,正如你所说的那样,显然是不对的。我认为您需要在请求和会话对象上添加更多值,然后在JSP中格式化它们。

这里的优势在于您可以选择您的MVC框架以匹配您的应用程序的规模,但是如果您需要它们用于特定操作,仍然可以访问原始servlet(例如,我过去做的一件事就是生成和服务来自数据库中值的Excel文件。)

答案 5 :(得分:1)

如果你想快速得到一些东西(我注意到你正在整理一个演示),我可能会放弃Java Web框架,只需使用servlet解决方案,结合一个简单的模板解决方案。

VelocityFreemarker将提供将标记与代码分开的功能。速度比Freemarker简单。 Freemarker比Velocity更强大。

我并没有对提到的各种框架感到沮丧。只是如果您的时间表很短并且您很乐意为此要求编程到servlet接口,那么上面的内容可能会提供最快/最脏的解决方案: - )

答案 6 :(得分:0)

您可以使用this并执行与在.NET中执行的操作相同的操作!这是一个非常好的MVC框架。