2008-11-06 71 views
2

我们需要一些关于在Java应用程序中使用AJAX的良好设计模式的输入。推荐的Java/AJAX设计模式?

考虑一个简单的场景:

  1. 用户点击一个按钮,它发送到Java方法的请求,以从DB获取数据。
  2. Java对象由方法返回并需要转换为HTML表格。
  3. HTML表格显示在JSP上。

我们目前做的:

  1. 在JSP页面中,用户点击“显示用户”按钮
  2. 按钮使用prototype.js所谓的“中间人” JSP转发请求Java方法从数据库中获取数据。
  3. 该方法将Java对象返回给将Java对象转换为HTML的“中间人”JSP(因为来自调用JSP的AJAX调用将无法直接处理Java对象)。
  4. 然后HTML返回到Prototype调用,它更新调用JSP上的div。

我们关注的是:

  1. 我们希望保持业务/演示逻辑的分离,并希望我们的Java方法内没有HTML/JavaScript代码。
  2. 记住(1),有一个“中间人”的JSP一个好方法来做到这一点?还是应该将Java对象作为XML/XSLT返回给AJAX请求?
  3. 上述方法我们所做的JavaScript很少,适用于所有浏览器。
  4. 我们研究了一些其他软件包-DWR,GWT,但要么对JavaScript中的依赖过多,要么在Java类中存在所需的UI组件。

我们的做事方式好吗?还是有另一种更好的方法?

任何帮助/想法,将不胜感激。

感谢,

SP

回答

2

听起来不错。您将视图组件与模型组件分离。不管服务器是如何调用服务器的,AJAX与否,它都应该被一个与模型交互的控制器(一个servlet所说)接收,这就是你的Java类,它从数据库获取数据并转发给用于呈现视图的JSP页面。

有框架可以简化样板代码,但您描述的设计听起来很好。

0

我不确定你是否注意到了,但是你的解决方案和文森特提出的有什么不同。这就是请求最初应该由一个servlet(或控制器,或Struts动作等)接收)而不是“中间人”JSP。

MVC规定JSP应该只用于从模型数据生成视图,流控制最好在Java代码中处理。

+0

不,是的,我确实发现了......我们也计划推行这条路线。尽管如此,感谢后续。 Regards, SP – spie 2008-11-07 05:58:51