• 締切済み

Strutsでの変数表示

お世話になっております。 1点教えていただきたいことがあって投稿いたしました。 画像名をBeanの変数として取得し、"・・・/eclipse/workspace/web_album_2/temp/files/"直下にある画像を表示させようとしております。 JSPを編集する画面でeclipseより「トークン "catch" に構文エラーがあります。正しくは Identifier です」という警告がでますが実行はできます。 しかし、実行して画像を表示させようとすると画像は表示されずに「×マーク(画像が存在しないときにでるマーク)」がでてしまいます。 「×マーク」のプロパティを確認すると、画像は「http://localhost:8080/web_album_2/temp/files/<%=filename%20%>」となっています。 filenameにファイル名をいれるつもりです。 どこが間違えていて、正しい方法をどうなのかご教授いただけませんか。 よろしくお願いします。 【環境】 Eclipse Tomcat5.5.27 struts1.3.8   関係ありそうな箇所(JSP)を記述すると以下のようになります。 <html:html> <body> <%@ page pageEncoding = "Shift_JIS" %> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <bean:define id="filename" name="FileUpForm" type="java.lang.String" property="fileUp.fileName" /> <html:img page="/temp/files/<%=filename %>" /> </body> </html:html> 初心者でして大変見苦しいコードになっておりますが、ご容赦ください。 以上、よろしくお願いいたします。

みんなの回答

回答No.3

strutsの挙動ちょっとおかしいところがあって。 <html:img page="/temp/files/<%= filename %>" /> <html:img page="<%="/temp/files/" + filename %>" /> こんなんで挙動が変わる。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

> どこが間違えていて、 それは<html:img/>を勉強すればわかると思う > 正しい方法をどうなのかご教授いただけませんか これはStrutsに慣れるとすぐわかるけど 慣れないとなかなか分からない。 <html:img name="xxx" property="yyy" /> を使うの。 nameとpropertyに指定するものは・・・ 他の<html: />タグの使い方と照らし合わせれば すぐにわかるかも。

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

<html:img /> には、bean でパラメタを受け渡す。 <html:img /> の name 属性などが使えると思います。 <html:img /> に受け渡す bean の構造は <html:img /> の都合の良いように 合わせてあげる。 とすると、目的とする事が出来ると思いますが、当方では動作未確認です。

関連するQ&A