5

我需要在 JSP 中建立一个表。我有一个带有一堆 bean 的数组列表,这些 bean 是由结果集制成的,只是从 DB 调用返回的行中。

根据数据,我想展示不同的东西。一个例子是,如果 bean 中的名称以“a”开头,则突出显示该名称,如果它以“b”开头,则将名称设为红色但不突出显示(我认为这涵盖了我的问题/情况)。

如果我在 JSP 中没有逻辑,我将如何控制它?

4

4 回答 4

5

一种方法是编写一个存在于 bean 类中的函数,或者更准确地说是在 bean 类的包装器中:

public class BeanFormatter {

  private Bean bean;

  public BeanFormatter(Bean myDataBean) {
    this.bean = myDataBean;
  }

  public String getFormattedHTML() {
    //put your logic here. Return the necessary HTML based on the bean.
  }
}

您想要返回的可能不是字符串格式的 HTML,而是用于包装数据的 div 名称或其他 css 类。但您可以编写另一种方法,例如getDisplayCSSClass().

于 2013-04-18T19:47:14.150 回答
0

如果您需要查看某些特殊行为,并且想要保持干净的 JSP,您应该考虑创建新标签。您应该知道有几种不同的标签。而且因为您的标签负责创建可视组件,所以我建议使用标签文件。

查看本教程以了解其工作原理。

于 2013-04-18T20:30:23.140 回答
0

实际上,你在逻辑这个词下是什么意思?您所描述的事情涉及显示逻辑,可以将这种逻辑放入jsp文件中。大多数 JSTL 标记都是为这项工作而设计的。如果您的意思是业务逻辑,Java 类(ejb、spring bean 或简单类)是其在良好设计中的唯一位置(即使不是在更适合控制逻辑的 servlet/控制器中)

于 2013-04-18T20:40:53.587 回答
0

您可以创建一个“翻译器”对象,该对象具有一个(或多个)采用 bean 的方法,并返回格式化的 HTML。

于 2013-04-18T19:48:26.987 回答