- ベストアンサー
フォームBeanのメソッド内で変数の呼び出しでエラーとなる
- フォームBeanのメソッド内で変数の呼び出しでエラーが発生します。どのようにすれば変数を呼び出すことができるのか、またなぜ呼び出すことができないのかについて解説します。
- フォームBeanのメソッド内で変数を呼び出そうとするとエラーが発生します。解決方法や原因について詳しく説明します。
- フォームBeanのメソッド内で変数の呼び出しでエラーが発生します。なぜ呼び出すことができないのか、そして解決方法について解説します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 基本的な構文について
いつも参考にさせて頂いています。 基本的なことなのですが、宜しくお願いします。 以下のBeanクラスがあるとします。 -------bean class public class Bean { private String str; public String getStr() { return str; } public String setStr(String str) { this.str = str; } } --------------- プロパティstrを取得してあるメソッドに引数として渡す場合、1と2ではどちらが適切でしょうか? 1. public class Test { Bean bean = new Bean(); String testStr = bean.getStr(); methodAAA( testStr ); } 2. public class Test { Bean bean = new Bean(); methodAAA( bean.getStr() ); } 1のほうが新しいオブジェクトを作成してしまうのでコストがかかってしまう気がするのですがいかがでしょうか。 methodAAA( bean.getStr(). … )と長くなる場合は一度違うオブジェクトに格納したほうがいいとか… 双方ともにメリットデメリットあるとは思いますが、噛み砕いて説明して頂けると助かります。
- ベストアンサー
- Java
- JAVAの継承について
JavaでクラスA,B,Cがあり、A,BはクラスCを継承しています。 この時にAのインスタンスを生成しCにある変数に値を設定します。 この設定した情報をBのインスタンスに一気に設定することは可能でしょうか? やりたいこととしてはAに設定した情報をBにコピーするようなイメージです。 すべてのsetterを呼びだして設定するのが面倒なので。 例)構文的に間違ってるかもしれませんがやりたいことは以下のような感じです。 A a = new A(); a.setStr("aaa"); a.setInt(5); B b = new B(); b.setStr(a.getStr()); b.setInt(a.getInt(); class A extends C{} class B extends C{} class C { int x = 0; String str = ""; private String setStr(String str){this.str=str;} private String setInt(int i){this.x=i;} private String getInt(){return this.x;} private String getStr(){return this.str;} }
- ベストアンサー
- Java
- StrutsのiterateタグでListに格納されているBeanの要素を表示する方法
タイトルのように Strutsのiterateタグを使用して、 ArrayListに格納されているBeanの要素を表示しようとしています。 具体的には public class Test { // 実際にはmainではないですが。 public static void main( String[] args ) { TestBean tbean = new TestBean( "あいうえお", "10" ); ListBean lbean = new ListBean(); lbean.setList( tbean ); } } public class TestBean { private String name; private String age; public TestBean( String name, String age ) { this.name = name; this.age = age; } } public class ListBean { private ArrayList list; public ListBean(){ } public void setList( TestBean bean ) { this.list.add( bean ); } public ArrayList getList() { return this.list; } } というような構成で、JSPでiterateタグを利用して、 listに入っているBeanから、更にnameとageを取得して 表示させたいのです。 ご回答お願いします。
- 締切済み
- Java
- クラス名を変えるとコンパイルが通らない
interface HINA { void write(String str, int age); } class super_class { String name; int age; public void write(String str, int age){ System.out.println(str + "\t" + age); } super_class(String name, int age) { this.name = name; this.age = age; } } class sub_class extends super_class implements HINA { public void write(String str , int age) { System.out.println(str + "\t" + age); } sub_class(String str , int age) { super(str , age); } } public class test3 { public static void main(String[] args) { super_class naru = new super_class("成瀬川なる", 17); super_class shinobu = new sub_class("前原しのぶ", 13); sub_class motoko = new sub_class("青山素子", 15); if (naru instanceof HINA) naru.write(naru.name, naru.age); if (shinobu instanceof HINA) shinobu.write(shinobu.name, shinobu.age); if (motoko instanceof HINA) motoko.write(motoko.name, motoko.age); } } これのsuper_classをOyaに、sub_classをKoにするとコンパイルエラーになります。 何故なんでしょう。 分かる方がいましたら、教えて下さい。 どうぞ宜しくお願い致します。 それと見づらくてどうもすいません。
- ベストアンサー
- Java
- Strutsのbean:writeにclassを適用したい
元々以下のような部品をカスタムタグ化したいです。 <input type="text" class="info" size="8"/> <bean:write name="InputForm" property="customerID" class="info"/> とやるとエラーになります。 class="info"の部分を削除するとエラーはなくなります。 どうしたらclass=""の部分を適用できるでしょうか
- ベストアンサー
- Java
- <bean:define>を <%= %>で出力。コンパイルエラー
<bean:define>を <%= %>で出力するのは、だめですか? <bean:define id="maxnum" name="ActionForm" property="num" type="java.lang.String"/> alert('<bean:message key="A00011" arg0="<%=num%>" />'); ^^^↑ここ 実際に動かすと正常に動くのですが、 WebSphereDeveloperでビルドをすると、 JspCompile: シンボルを解決できません。; シンボル: 変数 num; といわれます。 どうすれば、エラーがでないように出来ますか?
- ベストアンサー
- Java
- スレッドセーフ?スレッドアンセーフ?
Struts2にてスレッドセーフを勉強しており 以下のコードがスレッドセーフなのか、それともスレッドアンセーフなのかご意見を頂きたいと思います。 個人的な意見ですが、インスタンス変数を利用しているためスレッドアンセーフになるのではないかと思いますが間違いございませんでしょうか。 //以下 Struts2 public class InsertProgram extends ActionSupport implements ServletRequestAware{ private Test test = new Test(); private String id; private String name; public class execute(){ id = request.getParameter("id"); name = request.getParameter("name"); //以下がご意見を頂きたい箇所です。 test.setId(id); test.setName(name); test.insert(); return SUCCESS; } } public class Test{ private String id; private String name; public String getId() { return id; } public String getName() { return name; } public void setId(String id) { this.id = id; } public void setName(String name) { this.name = name; } public class insert() { //割愛致します。 データベースにid 及び name をinsert します。 sql = "Insert into test_db(id , name) ・・・" } }
- ベストアンサー
- Java
- StrutsでJSPからListを受け取りたい
JSPに複数のhidden(動的に数が変化)があり、これらの値をformのlist(配列)に詰めたいです。 尚、nameの値は別の処理でjavascriptを使いvalueを変化させるため連番であれば構わないです。です。 ~~~JSP~~~ <input type="hidden" name="str1" value="a"/> <input type="hidden" name="str2" value="b"/> <input type="hidden" name="str3" value="c"/> ~~~~~~~~ 上のJSPから下記のFORMに詰めたい ~~~form~~~ private List strList; public List getStrList(){ return strList; } ~~~~~~~~ 又、こちらで調べたところ下記のようにすればいけるようですが欲しい値は一つのためBeanを使用しなくても実現可能ではないかと思い、質問させていただきました。 よろしくお願い致します。 ~~~JSP~~~ <input type="hidden" name="testArray[0].str" value="a"/> <input type="hidden" name="testArray[1].str" value="b"/> <input type="hidden" name="testArray[2].str" value="c"/> ~~~~~~~ ~~~FORM~~~ private List list; public TestBean getTestA(int iIndex) { while (this.list.size() <= iIndex) { this.list.add(new TestBean ()); } return ( TestBean ) this.list.get(iIndex); } public Object[] getTestArray() { return list.toArray(); } public static class TestBean { private String str = ""; public String getStr() { return str; } public void setStr(String str) { this.str = str; } }
- ベストアンサー
- Java
- PHP T_STRINGエラー?
新しくPHPのサイトを作成しようとしたんですが、 syntax error, unexpected '{', expecting T_STRING in と表示されてどうにも使用がありません。 どこが原因でエラーが出てるのでしょうか? エラー行は7行と表示されていますが、いまいちわかりません スクリプトは以下の記述の通りです <?php require './Request.php'; require './Cookie.php'; final class SystemMain extends { private static $instance; private $modeName; public static function getInstance() { if (self::$instance === null) { self::$instance = new SytemMain(); } return self::$instance; } public function setMode() { if (file_exists('./maintenance')) { $this->modeName = 'Maintenance'; } else { $str = Request::both('mode'); if (!$str) { $this->modeName = 'Top'; } else if (file_exists('./script/mode/' . $str . '.php')) { $this->modeName = $str; } else { $this->modeName = 'NotFound'; } } require_once './script/mode/' . $this->modeName . '.php'; } public function getMode() { return $this->modeName; } } ?> Request.php <? class Request extends { public static function get($str) { return isset($_GET[$str]) ? $_GET[$str] : null; } public static function post($str) { return isset($_POST[$str]) ? $_POST[$str] : null; } public static function both($str) { $post = self::post($str); return $post ? $post : self::get($str); } } ?> Cookie.php <? class Cookie extends { public static function set($name, $value, $expire = 0) { return setcookie($name, $value, $expire); } public static function get($str) { return isset($_COOKIE[$str]) ? $_COOKIE[$str] : null; } public static function clear($str) { $_COOKIE[$str] = ""; return setcookie($str, ""); } } ?>
- ベストアンサー
- PHP