如果我有许多不同组件使用的HTML构建块,我可以使用Java类吗?目前我使用JSP,但似乎有点困难。
例如: com.mydomain.view.Table.java
从JSP中我创建了一个对象,如下所示:
Table tb = new Table(data);
String html = tb.getHtml();
这样可以吗?好吗?好吗?还是最好的?
如果没有,实现这一目标的标准方法是什么?
PS:这里的Table
课程与html <table>
标签无关。该类的作用是创建表格数据结构。它可能使用也可能不使用html <table>
。
答案 0 :(得分:0)
当然没有标准的方法。
这样可以吗?好吗?好吗?还是最好的?
答案取决于您正在制作的软件的目标。 需要考虑的一个重要因素是“eventual efficiency”。
只看Table类,它看起来不错。构造函数清楚地表明它依赖于“数据”。在我看来,getHtml()方法应该是它应该存在的地方。
答案 1 :(得分:0)
如果您有其他观点(Swing,Android,...),您最终会有其他getSwing()
或getAndroid()
方法。无论如何,如果Table
类是真实模型和视图之间的通用中间层,那就没关系。
另一种可能性是将模型或Table
传递给JSP视图层,让视图层决定如何将其转换为HTML。例如,通过使用taglib(最终也可以调用getHtml
)。如果你传递Table
,那么视图也会以某种方式变得通用(因为它无法真正决定数据的呈现方式)。
答案 2 :(得分:0)
使用html构建块,一个解决方案是使用返回html的jQuery加载。 Spring MVC与Apache Tiles视图的组合最适合这种情况。
$( “elementId”)负载( “$ {上下文} / rest_url_returning_html_building_block”);