将屏幕宽度作为jsp中的变量

时间:2012-08-17 19:38:32

标签: javascript css jsp

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

2 个答案:

答案 0 :(得分:6)

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

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

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

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

答案 1 :(得分: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” 你准备好了!