web-dev-qa-db-ja.com

.jspからhtmlページへの変数

サーブレットから変数を渡す.jspページがあります。次のような.jspページがあると仮定しましょう

...
<body>
${Variable}
</body>
...

また、variable = "oh my god"と仮定することもできます。これはOKです。しかし、ブラウザが変数の値を表示する.htmlページにこの変数をどのように配置できますか?

16
user721588

これを行う必要があります:

<%= Variable %>

結果のHTMLは次のようになります。

<body>
oh my god
</body>
19

実際にそこに投稿された最良の回答とソリューション(_<%= Variable %>_)は、質問で提供したコード(_${Variable}_)とまったく同じように機能します。唯一の違いは、使用する必要があるものであるということです。これは、読みやすく、スクリプトレットがまったくないためです。

私の観点では、play htmlページでJSP変数を使用する場合、jspによってレンダリングされたhtmlからその変数を取得するためにjavascriptが必要になり、実際の_newPage.html_でそれが必要になります。非表示のiframeをその_newPage.html_に配置し、そこにjspページをそのiframeのソースとして埋め込み、そのHTMLを、たとえばgetElementById()

5
dantuch

scriptletsまたはexpression languageのいずれかを使用する2つのオプションがあります。expression languageを使用することをお勧めします。

よく読んでください スクリプトレットが悪い

1
Rachel

この質問は古いですが、それはまだ実際的だと思うので、私は私の側から貢献しようとします。
質問は非常に簡単で、ほとんどの答えは異なる質問に答えているだけだと思う​​ので、少し混乱を招きます。
私が理解している限り、その質問は次のとおりです。

Jspにあるのと同じように、htmlにJSPの動的変数(Expression Lnaguageの要素)を含めることができますか?

答えはNoです。

[〜#〜] jsp [〜#〜]Java Server Pagesに変換されます。これが、動的な値が生成され、jsp onに提供されるという点です- サーバー side。 HTMLを動的にすることはできません。

0

html内の変数にアクセスする前に、変数を初期化してから、別のJSPコードブロック内で計算やその他の変更を行う必要があります。これで、html内の変数にアクセスできます。これはStackoverflow.comに対する私の最初の回答です。専門家が私が行った間違いを通知してください。

<body>
<% Java.lang.Integer var=0; %>
<%
  int a;
  int b;
  var=a+b;
%>
<% out.print(var);%>
</body>
0
Lakshan