我需要在JSP中构建一个表。 我有一个带有一堆bean的arraylist,并且bean是从结果集中生成的,只是来自DB调用返回的行。
根据数据,我想展示不同的东西。 一个例子是,如果bean中的名称以'a'开头,则突出显示名称,如果以'b'开头,则将名称设为红色但不突出显示(我认为这涵盖了我的问题/情况)。
如果JSP中没有逻辑,我该如何控制它?
答案 0 :(得分:4)
这样做的一种方法是编写一个存在于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类。但是您可以编写另一种方法,例如{{1 }}
答案 1 :(得分:0)
您可以创建一个“转换器”对象,该对象具有一个(或多个)接受bean的方法,并返回格式化的HTML。
答案 2 :(得分:0)
如果您需要在视图上有一些特殊行为,并且您希望保持干净的JSP,则应考虑创建新标记。 您应该知道几种不同的标签。 因为你的标签负责创建可视组件,我建议使用标签文件。
选中此tutorial以了解其工作原理。
答案 3 :(得分:0)
实际上,你在逻辑这个词的意思是什么?你描述的事情与显示逻辑有关,允许将这种逻辑放入jsp文件中。大多数JSTL标签都是为这项工作而设计的。如果你的意思是业务逻辑,那么java类(ejb,spring bean或简单类)是设计良好的唯一地方(即使不是控制逻辑更好的servlet /控制器)