• 締切済み

「エラー:…は宣言されていません。」について

下記のようなスクリプトコードがあります。 <html> <head> <%@ page contentType="text/html; charset=Windows-31J" %> <meta http-equiv="Cache-Contorol" content="no-cache"/> <meta http-equiv="Expires" content="-1"/> <title>test</title> <script type="text/javascript"> <!-- function dispText(id) { var filePath = document.getElementById("fileMei").value; var ret; if (!filePath) { return ret; } var fileTypes = filePath.split("."); var len = fileTypes.length; if (len === 0) { return ret; } ret = fileTypes[len - len]; var filename; if (!ret){ return ret; } filename = ret.split("\\"); len = filename.length; if (len === 0) { return ret; } ret = filename[len - 1]; document.getElementById(id).value = ret; } --> </script> </head> (一部抜粋) <logic:iterate name="fileInfoForms" id="fileInfoForm" indexId="index"> <tr> <bean:define id="idx">bunsyoMei<bean:write name="index" /></bean:define> <td class="listdetail<%=index%2%>" id="<%=index%2%>"> <html:text name="fileInfoForm" property="bunshoMei" styleId="idx" size="72" maxlength="50" style="ime-mode:active" indexed="true"/></td> <td class="listdetail<%=index%2%>"> <input type="file" id="fileMei" name="fileInfoForm[<%=index%>].fileMei" onkeydown="return checkEvent();" onbeforeeditfocus="return false;" onchange='<%="dispText("+idx+")"%>'/> --(1) </td> </tr> </logic:iterate> 参照ボタンよりファイルを選択し、ファイル名をテキストに表示したいのですが (1)の箇所で「エラー:'bunsyoMei0'は宣言されていません。」と表示されます。 回避させる方法はありますか?

みんなの回答

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

JSPを眺めるんじゃなくて 生成されたHTMLを見ないと なかなかわからないものよ? 実際のとこ画面内に「bunsyoMei0」が無いから 起きているエラーだと思うんだけど 全文が書いてあるわけじゃないから 無いんじゃないの?としか言えないわ

kepper
質問者

お礼

回答ありがとうございました。 何か初歩的なミスなのはわかっており HTMLをみたりデバッグしたりしておりましたが 原因追求できずにいました。 気を取り直し見直しました所 styleId="idx"になっておりました。 styleId="<%=idx%>"にすることで解決できました。 ご指摘ありがとうございました。

関連するQ&A

  • checkboxのvalue値を動的にしたい

    strutsタグのcheckboxのvalue値を動的に変更したいのですがうまく出来ません。 iterateでループし、チェックボックスが複数個(状況によって個数が変化する)できます。 このときvalue値を動的にして、submitしたときにどこのチェックボックスがチェックされたかを知りたい為に動的にしたいと考えています。 見当違いなやり方かもしれません。 どうぞ、ご教授下さい。宜しくお願いいたします <nest:iterate id="selectdata" name="selectAll" indexId="idx"> <tr> <td> <html:checkbox name="selectdata" property="checkBox" value=" ここの値を動的にしたい " /> </td> <td> <bean:write name="selectdata" property="user_id" /> </td> </tr> </nest:iterate> できればbean:writeのuser_idを入れることが出来るのならそれが一番良いのですが・・・ strutsタグのネストは出来ないのでしょうか?

    • ベストアンサー
    • Java
  • struts の iterateでのテーブル表示

    Map型のデータを、iterateを使って表(テーブル)表示を行っているものです。 Map型のデータには、23個のデータが入っています。 このデータを5×5の表に順番に入れて表示させたいのです。現在は1行に同じデータが5つ表示されています。 5×5の表にする方法がいまいちわかりません。 知っている方、宜しくお願いします。 今書いているソースの一部です。 <table border="1"> <logic:iterate id="data" indexId="ctr" name="list"> <tr> <td><bean:write name="data" property="name" /></td> td><bean:write name="data" property="name" /></td> td><bean:write name="data" property="name" /></td> td><bean:write name="data" property="name" /></td> td><bean:write name="data" property="name" /></td> </tr> </logic:iterate> </table>

  • 宣言してないとエラーが出ます

    あるサイトで戴いてきたJAVAスクリプトなのですが xNodeは宣言してませんとエラーが出ますどなたかご教授頂けませんか? HTML> <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"/> <script type="text/javascript" src="./popup.js"></script> <title></title> </head> java> var imgNode = null; function popupImage( filepath ){ var y = 0; if( document.all ){ y = document.body.scrollTop + 32; if( ! imgNode ){ imgNode = document.createElement('img'); imgNode.setAttribute( 'src' , filepath ); imgNode.onclick = closeImage; } } else if( document.implementation ){ y = window.pageYOffset + 32; if( ! imgNode ){ imgNode = document.createElement('img'); imgNode.setAttribute( 'src' , filepath ); imgNode.addEventListener('click' ,closeImage , true); } } else{ return false; } imgNode.style.position = 'absolute'; imgNode.style.left = '32px'; imgNode.style.top = y + 'px'; imgNode.style.borderColor = '#0099FF'; imgNode.style.borderWidth = '2px'; imgNode.style.borderStyle = 'solid'; imgNode.style.margin = '0'; document.body.appendChild(imgNode); document.body.appendChild(xNode); } function closeImage(){ if( imgNode ){ document.body.removeChild(imgNode); imgNode = null; } }

  • iterateで受け取った値を処理に使いたい

    こんにちは、honiyonです。  まだ知識が浅い為、おかしな言い回しがあるかも知れませんがご容赦くださいm(_ _)m  Servlet側で作成したデータをJSP側で <logic:iterate id="LOOP" name="LOOP_LIST" indexId="index"> <bean:write name="LOOP" property="data1"/> <bean:write name="LOOP" property="data2"/> </logic:iterate>  のようにして表示する方法はわかりました。  今度は、これを表示するのではなくて処理に使いたいのですが、その方法がわからず難儀しています。  こんな書き方は出来ないのですが、こういう事がやりたいと思っています。 <logic:iterate id="LOOP" name="LOOP_LIST" indexId="index"> <!---こっちは普通に表示---> <bean:write name="LOOP" property="data1"/> <!---data2は処理に使う---> <%  ↓↓ここの書き方がわからない↓↓ String CODE= "<bean:write name="LOOP" property="data2"/>" if (CODE == "1") { out.println("牛"); } else { out.println("馬"); } %> </logic:iterate>  よろしくお願いします(..

    • ベストアンサー
    • Java
  • java strutsでの一覧表の表示方法について

    以下の内容でロジックを組んだのですが、 jspより表示される一覧表は、003 name3が3件表示されてしまいます。 一覧表を正しく表示できない原因を教えてください。 SP0010_FORM_Bean.java public class SP0010_FORM_Bean { protected String id; protected String name; public void setId(String s) { id = s; } public String getId() { return id; } public void setName(String s) { name = s; } public String getName() { return name; } } SP0010_FORM.java public class SP0010_FORM extends ValidatorForm{ protected List<SP0010_FORM_Bean> loopList; public void setLoopList(List<SP0010_FORM_Bean> list) { loopList = list; } public List<SP0010_FORM_Bean> getLoopList() { return loopList; } } SP0010_ACTION_10.java SP0010_FORM initBean = new SP0010_FORM(); request.setAttribute("list_form", initBean); List<SP0010_FORM_Bean> list = new ArrayList<SP0010_FORM_Bean>(); SP0010_FORM_Bean bean1 = new SP0010_FORM_Bean(); bean1.setId("001"); bean1.setName("name1"); list.add(bean1); bean1.setId("002"); bean1.setName("name2"); list.add(bean1); bean1.setId("003"); bean1.setName("name3"); list.add(bean1); initBean.setLoopList(list); jsp <table border="1"> <logic:iterate id="loop" name="list_form" property="loopList"> <tr> <td><bean:write name="loop" property="id" /></td> <td><bean:write name="loop" property="name" /></td> </tr> </logic:iterate> </table>

    • ベストアンサー
    • Java
  • 「…は宣言されていません。」エラー回避

    下記のようなスクリプトコードがあります。 <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>test</title> </head> <body> <script type="text/javascript"> <!-- function pulldown() { sss.style.display="block";  --- (1) sss.style.left=event.x; sss.style.top=event.y; } function listsel() { var kintaicode = document.form1.kintaicode.options[document.form1.kintaicode.selectedIndex].value ; document.form1.an.value = kintaicode ; sss.style.display="none"; } //--> </script> <form name="form1"> <select id='sss' style='display:none;position:absolute' name='kintaicode' onchange='listsel()'>  --- (2) <option value='1'>東京都</option> <option value='2'>神奈川県</option> </select> <table> <tr> <td onClick="pulldown()">A</td> </tr> <tr> <td onClick="pulldown()">B</td> </tr> </table> <input type='text' name='an'> </form> </body> </html> (2)のところでidを宣言しているのですが、実行させAをクリックすると「エラー:'sss'は宣言されていません。」と表示されます。 回避させる方法はありますか? ちなみに、何をしたいのかというと、クリックしたところにプルダウンメニューを出したいのです。

  • strutsでlist型の入力を行うには

    strutsでlist型の入力を行いたいのですが、サーバー側で上手く取得できません。 実際には struts-configに <form-bean name="TestForm" type="base.BaseActionForm"> <form-property name="testList" type="java.util.List" /> </form-bean> JSPには <logic:iterate id="testList" type="bean.TestBean" name="TestForm" property="testList" indexId="idx"> <tr> <td> <html:text property="strKamoku" name="testList"/> </td> </tr> </logic:iterate> beanは下記のようです。 public class TestBean implements Serializable, Cloneable { private String strKamoku; public String getStrKamoku() { return strKamoku; } public void setStrKamoku(String strKamoku) { this.strKamoku = strKamoku; } } 上記のように設定し、サーバー上でセットした値をテキストボックスに 入れてlist表示できたのですが、テキストボックスに入れた値を変更し、submitし、サーバー上でlistの中を見てみると、表示した時のままで変更した値が反映されてません。 表示したlistの値を変更する事はできるのでしょうか。 わかりづらい説明ですいませんが、なにかアドバイス宜しくお願いします。

    • ベストアンサー
    • Java
  • Strutsタグライブラリーの<html:checkbox>を使用しているときのバックカラーの変え方

    対象のチェックボックスをONにするとバックカラーを白から何か他の色へ変更し、また、逆にOFFにするとバックからを白にもどしたいのですが、方法がわかりません。 どなたか教えてください。 チェックボックスはStrutsのタグライブラリーを使用しています。onClickを宣言使用とすると起こられてしまいます。 <logic:iterate id="chargeSubjectInfo" name="KDSC_L200" property="chargeSubjectInfo" indexId="idx1" type="jp.co.kdl.kse.page.KSEInfoDyna"> <kbean:define id="checkboxInfo" name="KDSC_L200" property="checkboxInfo" index="<%=String.valueOf(idx1)%>" type="jp.co.kdl.kse.page.KSEInfoDyna"/> <td width="13%" class="pt12" height="42" BGCOLOR=""> <html:checkbox name="checkboxInfo" property="report" value="1" indexed="true" /> </td> </logic:iterate> 大文字で書いたBGCOLORの後にjavaScriptを記述したいのですが、わかりません。どなたか教えてください。

  • c言語プログラミング実行時エラーについて質問です。

    c言語プログラミングを実行しようとすると、 エラーが出て次のようなメッセージが出てしまいました。 「「7行目」で記述エラーを発見しました。「constant expression」を付け忘れています。」 どなたか原因を教えてください。よろしくお願いいたします。 以下が失敗したプログラムです。 #include <stdio.h> int main(int argc, const char * argv[]) { const char FILENAME[] = "/Users/user/Desktop/date3.txt"; const int LEN = 100; char line [LEN]; char name [LEN]; char birth [LEN]; char address [LEN]; FILE *dat; dat = fopen(FILENAME, "r"); if ( dat == NULL ) { printf(" ファイル %s がオープンできません. ", FILENAME); return -1; } while( fgets( line, LEN, dat) != NULL ) { sscanf( line "%s, %s, %s", name ,birth, address ); printf("name = %s, address = %s\n", name, address ); } fclose(dat); return 0; }

  • struts bean:defineについて

    現在struts + weblogicでwebアプリの開発を行っています。 行いことは以下のようになっています。 <table> <html:form action"/hoge"> <logic:iterate id="lst" name="hoge" indexId="idx"> <bean:define id="listIndex" name="idx"/> <tr name='<bean:write name="idx"/>'> <td> <html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value='<%=listIndex%>'> <html:options property="timeHList"/> </html:select>    ・・・中略・・・ <input type="hidden" name="hdn"> </html:form> ここで問題になっているのが、onclickイベントでhiddenに値を入れようと思っているのですが、<%=listIndex%>がそのまま文字列になって返ってきます。 シングルコーテーションを外したらスクリプトエラー、 ダブルコーテーションで書いたら<html:select>のタグが閉じてないといわれ、エラーで落ちます。 どのように値を格納すれば正しくhdnに値を格納できるのでしょうか? struts 1.1 Weblogic 8.1 SP1 Windows2000にて開発 以上、宜しくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう