- uk
- ぬし
- 会議室デビュー日: 2003/05/20
- 投稿数: 1155
- お住まい・勤務地: 東京都
|
投稿日時: 2004-05-06 19:15
| 引用: |
|
Rastyさんの書き込み (2004-05-06 15:57) より:
>>ukさん
@includeを使ってみたところ<%=name%>がそのままで出力されてしまったため、
|
以下のようなJSPと、
| コード: |
|
<%@ page contentType="text/html; charset=shift_jis" %>
<% String test = "this is test"; %>
<%@ include file="include.html" %>
|
以下のようなHTMLの組み合わせで意図どおりに出力されるのですが、
| コード: |
|
<html>
<header>
<title>test</title>
</header>
<body>
test=<%=test%>
</body>
</html>
|
どこか勘違いしていますか?
|
- bubunya
- 大ベテラン
- 会議室デビュー日: 2003/01/16
- 投稿数: 124
|
投稿日時: 2004-05-06 20:02
それはコンパイル時に値が確定しているからですね。
動的に変えるのは無理だと思います。
|
- uk
- ぬし
- 会議室デビュー日: 2003/05/20
- 投稿数: 1155
- お住まい・勤務地: 東京都
|
投稿日時: 2004-05-06 20:14
| 引用: |
|
bubunyaさんの書き込み (2004-05-06 20:02) より:
それはコンパイル時に値が確定しているからですね。
動的に変えるのは無理だと思います。
|
| コード: |
|
<%@ page contentType="text/html; charset=shift_jis" %>
<% String test = (new java.util.Date()).toString(); %>
<%@ include file="include.html" %>
|
これでもちゃんと動きますが。
|
- aa
- ぬし
- 会議室デビュー日: 2004/01/08
- 投稿数: 299
|
投稿日時: 2004-05-06 20:33
私は使ったことがありませんが、そういったWebデザイナーとプログラマが共同作業しやすいようにと考えて作られた Tapestry というものがあります。
http://jakarta.apache.org/tapestry/index.html
|
- bubunya
- 大ベテラン
- 会議室デビュー日: 2003/01/16
- 投稿数: 124
|
投稿日時: 2004-05-06 20:56
| 引用: |
|
<%@ page contentType="text/html; charset=shift_jis" %>
<% String test = (new java.util.Date()).toString(); %>
<%@ include file="include.html" %>
|
あぁ、ちょっとボケてたかもしれません。
<%= が変数を参照してれば必ずその変数値を使いますね。
頭の中だけで考えていた時に JSP 式がそのまま文字列として存在するようなイメージになってました
コンパイル時点で
out.print("こんにちは、");
out.print(name);
out.print("さん。");
みたいになってるはずですね。
ボケててすいません...
|
- bubunya
- 大ベテラン
- 会議室デビュー日: 2003/01/16
- 投稿数: 124
|
投稿日時: 2004-05-06 21:31
補足です。
html の方。
| コード: |
|
<html>
<body>
<p>
Hello, Mis.<%= usrname %>!!
</p>
</body>
</html>
|
jsp の方。↑をincludeしてるだけです。
ここでは URLのパラメータ(name)を利用するようにしてあります。
| コード: |
|
<%@ page contentType="text/html; charset=UTF-8" %>
<% request.setCharacterEncoding("UTF-8"); %>
<%
String usrname = request.getParameter("name");
%>
<%@ include file="/it01.html" %>
|
で、コンパイル結果は以下のようになります。
| コード: |
|
String usrname = request.getParameter("name");
out.write("\r\n\r\n");
out.write("<html>\r\n<body>\r\n\r\n<p>\r\nHello, Mis.");
out.print( usrname );
out.write("!!\r\n</p>\r\n</body>\r\n</html>\r\n");
|
out.print( usrname ); になってますから、適切な値が設定されていればそれが使われますね。
Rasty さん、混乱させてもうしわけない。もう一度ソースを確認してみてください。
servletからjspへの値の受け渡しがうまく行ってないのかもしれません。
|