Java webapp:在哪里/如何自动设置每张图片的宽度/高度

时间:2010-06-03 00:45:49

标签: java jsp tags web-applications

由于多种原因,许多“网站管理员指南”(如谷歌和雅虎网站管理员指南/指南)重复多次,始终更好地放置宽度< img 标记的/ em>和 height 属性。

最明显的原因之一是,每张图片加载后页面中的元素似乎都不会“跳转”到新位置(始终设置正确的宽度/高度肯定会摆脱这种行为) 。还有其他原因可以遵循这些指南/最佳实践。

所以:

  • 如果我们认为这些确实是好的做法
  • 如果有很多照片且经常更换
  • 如果图片在两个.war重新部署之间没有变化(即:没有用户提供的图片)
  • 如果我们不想手动编辑所有这些宽度/高度属性

我们如何自动/以编程方式提供HTML网页,其中每个 img 标记都将 width / height 属性正确设置为最佳做法推荐?

2 个答案:

答案 0 :(得分:1)

当webapp启动时,我们会递归爬行整个爆炸的.war,查找每个图片文件并确定它们的宽度/高度。

我们将这些信息保存为“文件到宽度/高度”地图中的映射。后来,每次我们生成 img 标签时,我们都会调用一种方法来放弃该图片的宽度/高度。

唯一的“缺点”是地图查找和宽度/高度属性生成是在运行时执行的。

答案 1 :(得分:1)

我们有一个更复杂的构建过程,其中所有 .jsp .css .html 等都经过优化。< / p>

  • .css 包含大量内容的文件会折叠在一个文件中(如果您正在进行网站优化,则使用另一个主要文件,只需使用Chrome的开发者工具或YSlow!并检查差异有和没有.css崩溃)

  • .jsp .html 文件的所有图片宽度/高度均设置为构建时间

  • 图像被赋予唯一的名称,并被设置为foreover cacheable(与GWT为其生成的JavaScript所做的不同,其中使用了唯一标识符)。在下一个版本中,它们将获得新的唯一名称,并且将再次永久缓存。

有一个很多的理由让构建过程比“编译和压缩所有文件”更高级。

回答你的问题:我们在构建过程中做了很多Un x shell脚本。我们使用一些Un x shell power处理.jsp,.css,.html等。我可以告诉你,人们很难复制我们正在做的事情,而没有可能结合所有那些闪亮的shell命令的力量:)