0

我想知道在 Struts2 中保存显示输出信息的最佳位置在哪里。

所以我有一个具有可变行和数据列的类。现在我正在打电话toString以表格格式输出信息。我明白这怎么可能是不正确的,因为如果我想稍后更改表格格式,我将不得不重新配置 java 文件。问题是我很难遍历所有的数组列表并在纯 struts 2 中创建一个格式正确的表。

所以我的问题是:通过 toString 创建输出*是否可以?还是我应该想办法只在struts2中完成这一切?

*输出是指网站的一小部分,例如 html 表格。

4

1 回答 1

0

恕我直言,这是完全错误的;这是一个过时的策略,从古代的 Servlets,在前 JSP 时代,你被迫通过 ServletOutputStream 从 Java 字符串中打印出 HTML ......

因为一张桌子可以有:

    • 绘制不同颜色的奇偶行,以帮助用户的眼睛;
    • 突出显示当前行的鼠标悬停
    • 单击该行选择
  • 分页
    • 指标:“第 1 页,共 2 页”
    • 导航按钮:<< First < Prev | Next > Last >>
    • 服务器端可配置长:从数据库或属性文件中读取每页显示多少元素
    • 通过 SelectBox 直接选择页面
    • 搜索功能
  • 形象的:
    • 全部通过 CSS 管理

您可以拥有仅具有其中一些功能的简单表格,也可以拥有所有这些功能的复杂表格,您可以为每个特征创建模块/可配置对象,这样当您需要表格时,您只需配置所需的模块和代码,经过测试并准备就绪,已经存在。

对于从 a 生成的表toString(),对于每个新表,您都需要再次执行该工作,甚至最糟糕的是复制粘贴删除;这同样适用于对现有表的每次修改;

这是一堆可怕的、无法维护的静态代码,你以后不想留给你的同事。

从基本开始,然后一次添加一块砖。

您可以首先使用DisplayTag,它具有大多数内置功能,可以帮助您快速实现目标。

然后您可以绘制自己的对象,记住图形应该始终通过 CSS 处理,HTML 结构不应该在 Java 中处理(例如,您可以使用多个 JSP 片段,与 一起安装<jsp:include />)。

最后,您可以通过标记库绘制自己的对象......然后大部分 html 代码将由 Java 生成,但是以“正确”的方式。

如果您需要 AJAX 功能,也可以查看 Struts2-jQuery-Grid 插件: http ://code.google.com/p/struts2-jquery/wiki/GridTag

于 2013-06-17T08:38:38.690 回答