Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将逻辑排除在JSP之外?_Java_Jsp - Fatal编程技术网

Java 如何将逻辑排除在JSP之外?

Java 如何将逻辑排除在JSP之外?,java,jsp,Java,Jsp,我需要在JSP中构建一个表。 我有一个带有一串bean的arraylist,这些bean是从resultset生成的,只是从DB调用返回的行生成的 根据数据,我想展示不同的东西。 例如,如果bean中的名称以“a”开头,则突出显示名称,如果名称以“b”开头,则将名称设置为红色,但不突出显示(我认为这涵盖了我的问题/情况) 如果JSP中没有逻辑,我将如何控制它?实现这一点的一种方法是在bean类中编写一个函数,或者更恰当地说,在bean类的包装器中编写一个函数: public class Bean

我需要在JSP中构建一个表。 我有一个带有一串bean的arraylist,这些bean是从resultset生成的,只是从DB调用返回的行生成的

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


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

实现这一点的一种方法是在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类。但是,您可以编写另一种方法,例如“代码> GETDISPACS CSSCALL()/<代码> .< /P> < p>您可以创建一个“翻译器”对象,该对象具有一个(或多个)bean的方法,并返回格式化的HTML。

如果您需要在视图上有一些特殊的行为,并且想要保持整洁的JSP,则应该考虑创建新的标签。 您应该知道,标签的种类很少。 因为您的标签负责创建可视组件,所以我建议使用标签文件


检查此项以了解其工作原理。

实际上,您在“逻辑”一词下的意思是什么?您描述的内容和显示逻辑有关,可以将这种逻辑放入jsp文件中。大多数JSTL标记都是为这项工作设计的。如果您指的是业务逻辑,那么java类(ejb、SpringBean或简单类)是它在良好设计中的唯一位置(即使在控制逻辑更好的servlet/Controller中也是如此)

通过“将逻辑排除在JSP之外”,您指的是业务逻辑、显示逻辑还是程序控制逻辑?