CSS 类名作为 bean 内容。使用还是不使用?
假设我们有带有汽车颜色的“Car”bean,我们想要显示颜色名称以及该颜色的文本和一些颜色特定的图像。目前,bean 负责将颜色名称转换为 CSS 类名称,而 JSP 应该只将该值分配给某些 div。看起来很方便,但是混合了业务层和表示层。
将 String 或 Enum 值映射到 CSS 类的最佳实践是什么?应该在哪里做? (假设我们有 1000 个值,它们可能会改变。)
谢谢。
Let's say we got 'Car' bean with car color and we want to display the color name with text in that color and some color specific image aside. Currently bean is responsible for converting color name to CSS class name and JSP should only assign that value to some div. It seems convenient, but mixes business and presentation layers.
What is the best practice for mapping String or Enum values to CSS classes? Where it should be done? (Assuming we got 1000 values and they might change.)
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从业务层返回类名看起来确实是糟糕的代码。
如果我必须做类似的事情,我可能会创建一个自定义 JSP 标记。它为您提供了处理 Java 对象的能力,并且它仍然与表示层紧密相连。您可以定义一些要加载的 enum-to-css-class-name 映射源,您的标签将完成使用和转换工作。
Returning class names from business layer looks like bad code indeed.
If I had to do something like it, i'd probably create a custom JSP tag. It gives you the power of handling Java objects and it is still tied closely to the presentation layer. You can define some enum-to-css-class-name mapping source to be loaded and your tag will do the job of using and doing the conversion job.