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