1

画像のサイズを変更する方法を知る必要があります (img src="blah.jpg?width=x として渡す必要があります)。これにより、ページをさまざまなサイズで表示できます。誰か助けてくれませんか? x (幅) だけが必要です) jsp 変数として。

2021年更新: なんと、9年後。あなたがこれを見ているなら (そしてあなたの何人かはまだ見ています) -- Javascript は過去 9 年間で驚くほど長い道のりを歩んできました。以下のコメントにあるように、これは JSP では不可能ですが、Javascript と CSS3 では可能です。その場で要素のサイズを変更するためにページの幅を決定しようとしている場合は、長年にわたって開発されてきたレスポンシブ プリンシパルを尊重していない可能性があります。CSS Flexbox を調べて、それを念頭に置いて設計してください。

乾杯

4

2 に答える 2

6

あなたが求めていることは、この方法ではできません。JSP はサーバー上でレンダリングされ、HTML としてブラウザーに送信されます。ページがブラウザーに到達すると、画面幅が使用可能になります (JavaScript を使用)。したがって、JSP 変数として取得することは不可能です。

代わりに、JavaScript を使用して前のページの画面幅を取得し、それをリンクのクエリ パラメータとして、またはフォームの非表示フィールドとして設定することができます。リンクがクリックされるか、フォームが送信されると、リクエストにアクセスして画面幅を取得できます。

もちろん、ユーザーがブラウザに直接入力してそのページの URL にアクセスできる場合、これは機能しません。

または、JavaScript を使用して、ページが読み込まれた後に画像を読み込みます。この時点で画面の幅があり、それに応じて URL を作成できます。基本的にonload、ボディのイベント (または$(document).readyJQuery)srcを使用して、使用する必要がある URL に画像の属性を設定する JavaScript を呼び出します。

于 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 に答える