サーブレットから変数を渡す.jsp
ページがあります。次のような.jsp
ページがあると仮定しましょう
...
<body>
${Variable}
</body>
...
また、variable = "oh my god"
と仮定することもできます。これはOKです。しかし、ブラウザが変数の値を表示する.html
ページにこの変数をどのように配置できますか?
これを行う必要があります:
<%= Variable %>
結果のHTMLは次のようになります。
<body>
oh my god
</body>
実際にそこに投稿された最良の回答とソリューション(_<%= Variable %>
_)は、質問で提供したコード(_${Variable}
_)とまったく同じように機能します。唯一の違いは、使用する必要があるものであるということです。これは、読みやすく、スクリプトレットがまったくないためです。
私の観点では、play htmlページでJSP変数を使用する場合、jspによってレンダリングされたhtmlからその変数を取得するためにjavascriptが必要になり、実際の_newPage.html
_でそれが必要になります。非表示のiframeをその_newPage.html
_に配置し、そこにjspページをそのiframeのソースとして埋め込み、そのHTMLを、たとえばgetElementById()
scriptlets
またはexpression language
のいずれかを使用する2つのオプションがあります。expression language
を使用することをお勧めします。
よく読んでください スクリプトレットが悪い
この質問は古いですが、それはまだ実際的だと思うので、私は私の側から貢献しようとします。
質問は非常に簡単で、ほとんどの答えは異なる質問に答えているだけだと思うので、少し混乱を招きます。
私が理解している限り、その質問は次のとおりです。
Jspにあるのと同じように、htmlにJSPの動的変数(Expression Lnaguageの要素)を含めることができますか?
答えはNoです。
[〜#〜] jsp [〜#〜]はJava Server Pagesに変換されます。これが、動的な値が生成され、jsp onに提供されるという点です- サーバー side。 HTMLを動的にすることはできません。
html内の変数にアクセスする前に、変数を初期化してから、別のJSPコードブロック内で計算やその他の変更を行う必要があります。これで、html内の変数にアクセスできます。これはStackoverflow.comに対する私の最初の回答です。専門家が私が行った間違いを通知してください。
<body>
<% Java.lang.Integer var=0; %>
<%
int a;
int b;
var=a+b;
%>
<% out.print(var);%>
</body>