java - 如何让我的 Web 应用程序在移动设备浏览器上使用不同的样式表呈现?

标签 java jsp web-applications mobile-safari

我有一个正在运行的 Java Web 应用程序,当通过移动设备(例如 iPhone 上的 Safari 浏览器)访问时,JSP 页面呈现效果很差。设备屏幕不适合该页面,因此我正在寻找解决此问题的方法

谷歌搜索后,我发现了可以添加到 JSP 中的以下行

<link href="/css/global.css" rel="stylesheet" type="text/css" media="handheld" />

这是确保 Web 应用程序可以在桌面和移动浏览器上运行的充分方法,还是我完全忽略了这一点?

有人建议我看看有哪些 Spring MVC 可供使用,但我认为这可能是一条转移注意力的建议,因为上面的建议会更简单

最佳答案

Spring MVC 提供了一种非常简单的方法来 change "Themes" on the fly基于 HttpServletRequest - 所以你可以想象有一个标准的主题,然后是另一个基于用户代理激活的“手持式”主题。

然后,Spring MVC 库允许您根据当前请求的主题在 View 层中使用不同的 CSS 文件,无论是什么不同。但是,如果您当前没有使用 Spring MVC,那么将您的应用程序迁移到它可能不值得。

另一方面,您可以简单地让您的 JSP 呈现不同的 <link>基于用户代理的标签根据条件逻辑使用不同的 CSS 文件。如果您的应用程序架构良好,并且您具有在一个地方设置 HTML header 和 CSS 包含的逻辑,那么只需在一个地方添加此逻辑并将其应用到所有地方就足够容易了。

关于java - 如何让我的 Web 应用程序在移动设备浏览器上使用不同的样式表呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944542/

相关文章:

java - JGit 中 DirCacheEditor 的无效路径异常

java - Jackson:尝试将 JSON 反序列化为 java 对象时未解析的前向引用

java - Spring MVC ModelAndView 不工作 404

jsp - 重定向到 jsp。为什么 url 没有结尾/response.jsp?

java - 如何减少Wildfly的部署时间?

javascript - 我的RIA应该使用什么建筑模式?

web-applications - 如何创建全屏 sencha touch 2 网络应用程序?

java - 使用命令行参数将文件传递给程序

java - 更新 'Android Support Libary' v22 后无法连接到 Parse.com

java - 在不同的 Struts 操作类之间有效地共享 JSP