1

我需要知道调整图像的大小(它需要作为 img src="blah.jpg?width=x 传递)所以我的页面可以显示为不同的大小,有人可以帮我吗?我只需要 x (width ) 作为 jsp 变量。

2021 年更新:哇,9 年后。如果你正在看这个(而且你们中的一些人仍然在看)——在过去的 9 年里,Javascript 已经取得了惊人的长足进步。正如下面的评论所说,这在 JSP 中是不可能的,但在 Javascript 和 CSS3 中是可能的。如果您试图确定页面的宽度以动态调整元素的大小,那么您可能不尊重多年来发展起来的响应式原则。研究 CSS Flexbox 并在设计时牢记这一点。

干杯

4

2 回答 2

6

你所要求的不能以这种方式完成。您的 JSP 在服务器上呈现,并作为 HTML 发送到浏览器。只有当页面到达浏览器时,屏幕宽度才可用(使用 JavaScript)。因此,将其作为 JSP 变量是不可能的。

相反,您可以使用 JavaScript 获取上一页中的屏幕宽度,并将其设置为链接中的查询参数或表单的隐藏字段。当点击链接或提交表单时,您可以访问请求以获取屏幕宽度。

当然,如果用户可以通过直接在浏览器中输入该页面的 URL 来访问该页面,这将不起作用。

或者,在页面加载使用 JavaScript 加载图像。此时您将拥有屏幕宽度,并且可以相应地构建 URL。本质上,您将使用onload正文(或$(document).ready在 JQuery 中)的事件来调用 javascript,将src图像的属性设置为您需要使用的 URL。

于 2012-08-17T19:43:49.253 回答
1

我有同样的问题,但后来意识到我可以通过以下方式解决它:
有一个启动页面,例如 tomcat 中的 index.html,它会在会话开始时自动调用并执行此操作:

<!DOCTYPE html>
<html>
<head>
    <script>
    var init=function() {
        var noi=window.innerHeight;
        url="myPage.jsp?rows="+noi;
        cm=document.getElementById('cm');
        cm.href=url;
        cm.click();
    }
    </script>
</head>
<body onload=init()>
<A style='' id=cm HREF=''>&nbsp;</A>
</body>

在您的“myPage.jsp”页面中,在您的 java 代码中收集变量“rows”,您就可以开始使用了!

于 2016-02-12T18:30:50.247 回答