質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSF

JSF (JavaServer Faces)とは、JavaベースのWebアプリケーションフレームワークの一つです。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

3836閲覧

JSFのhrefとonclickについて

RI_KU

総合スコア24

JSF

JSF (JavaServer Faces)とは、JavaベースのWebアプリケーションフレームワークの一つです。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/12/25 03:22

編集2015/12/26 06:59
/*sidebar.xhtml*/ <h:form id="sort_form"> <p class="side-title"><b>あ</b></p> <select name="sort" onchange="dropsort()"> <option value="#">選択してください</option> <option value="2011_Top.xhtml" onclick="#{iB.setIi_nendo_id(2011)};#{ijB.setIj_nendo_id(2011)};#{joB.setJo_nendo_id(2011)}">#{nendoBean.nendo}#{res.km}</option> <option value="2012_Top.xhtml" onclick="#{iB.setIi_nendo_id(2012)};#{ijB.setIj_nendo_id(2012)};#{joB.setJo_nendo_id(2012)}">#{nendoBean.nendo1}#{res.km}</option> <option value="2013_Top.xhtml" onclick="#{iB.setIi_nendo_id(2013)};#{ijB.setIj_nendo_id(2013)};#{joB.setJo_nendo_id(2013)}">#{nendoBean.nendo2}#{res.km}</option> <option value="2014_Top.xhtml" onclick="#{iB.setIi_nendo_id(2014)};#{ijB.setIj_nendo_id(2014)};#{joB.setJo_nendo_id(2014)}">#{nendoBean.nendo3}#{res.km}</option> </select> </h:form> --------------------------------------------------------------------------------- /*igishi.js*/ //<!-- コンボボックスの値をURLに置換するjavaScript --> function dropsort() { var browser = document.sort_form.sort.value; location.href = browser; } --------------------------------------------------------------------------------- /*IiBean.java*/ @Named(value = "iB") @Dependent public class IiBean { /*変数の宣言と対応するGetter,Setterを記述する*/ static Integer ii_nendo_id=0; static String ii_mondai_id=""; private String mondaibun; private String mg1; private String mg2; private String mg3; private String mg4; private String mg5; public Integer getIi_nendo_id() { return ii_nendo_id; } public void setIi_nendo_id(Integer ii_nendo_id) { IiBean.ii_nendo_id = ii_nendo_id; } public String getIi_mondai_id() { return ii_mondai_id; } public void setIi_mondai_id(String ii_mondai_id) { IiBean.ii_mondai_id = ii_mondai_id; } public String getMondaibun() { return mondaibun; } public void setMondaibun(String mondaibun) { this.mondaibun = mondaibun; } public String getMg1() { return mg1; } public void setMg1(String mg1) { this.mg1 = mg1; } public String getMg2() { return mg2; } public void setMg2(String mg2) { this.mg2 = mg2; } public String getMg3() { return mg3; } public void setMg3(String mg3) { this.mg3 = mg3; } public String getMg4() { return mg4; } public void setMg4(String mg4) { this.mg4 = mg4; } public String getMg5() { return mg5; } public void setMg5(String mg5) { this.mg5 = mg5; } /*変数の宣言とGetter,Setterの記述ここまで*/ public IiBean() { /*MySQL(データベース:「mie」)に接続する処理*/ ResultSet rs=null; Connection con = null; PreparedStatement ps = null; try { Class.forName("com.mysql.jdbc.Driver"); con =DriverManager.getConnection("jdbc:mysql://localhost/mie","root","mysql"); /*MySQLに接続する処理ここまで*/ String sql=""; if (cntupBean.countup < 10 ) { /*ここから変数「sql」にsql文を格納するコードを記述する*/ sql = "select mondaibun,mondaigun1,mondaigun2,mondaigun3,mondaigun4,mondaigun5 from kakomondai " + "where nendo_id="+IiBean.ii_nendo_id+" and kamoku_id=1 and mondai_id='"+IiBean.ii_mondai_id+"0"+cntupBean.countup+"'"; /*sql格納ここまで*/ } else if(cntupBean.countup <51) { sql = "select mondaibun,mondaigun1,mondaigun2,mondaigun3,mondaigun4,mondaigun5 from kakomondai " + "where nendo_id="+IiBean.ii_nendo_id+" and kamoku_id=1 and mondai_id='"+IiBean.ii_mondai_id+""+cntupBean.countup+"'"; } //ステートメントオブジェクトを生成 ps = con.prepareStatement(sql); //クエリを実行して結果セットを取得 rs = ps.executeQuery(); //mondaiデータ取得 while(rs.next()){ this.mondaibun = rs.getString("mondaibun"); this.mg1 = rs.getString("mondaigun1"); this.mg2 = rs.getString("mondaigun2"); this.mg3 = rs.getString("mondaigun3"); this.mg4 = rs.getString("mondaigun4"); this.mg5 = rs.getString("mondaigun5"); System.out.println("●"+this.mondaibun); System.out.println("●"+this.mg1); System.out.println("●"+this.mg2); System.out.println("●"+this.mg3); System.out.println("●"+this.mg4); System.out.println("●"+this.mg5); } } catch (SQLException ex) { Logger.getLogger(IiBean.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(IiBean.class.getName()).log(Level.SEVERE, null, ex); }finally{ try { //close処理 if(ps != null) { ps.close(); } //close処理 if(con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }

sidebarのselect optionの値をクリックしたとき、ページ遷移とともにバッキングビーンに値を渡したいと考えています。
ですが、最後のonclickしかイベントが発火していない状況です。
他に案、またなにか代替案はあるでしょうか、

*glassfish4.1です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BlueMoon

2015/12/25 04:27

環境情報を記載すれば回答を得やすくなるかと思います。例えばJavaEEサーバの種類(glassfish/weblogicなど)やバージョンなど。あとJavaのコードなど。
BlueMoon

2015/12/25 04:29

コードについては、コードタグを利用して頂いた方が回答者が読み易いと思います。
guest

回答2

0

質問の更新、有難うございました。
意図から外れる回答かも知れないですが、selectはBackingBeanへのセットのみとし、別途ボタンを設けてボタンのonclickで画面遷移するデザインとされてはどうでしょうか。ボタンがsubmit属性で有ればonclickハンドラの戻り値に遷移先ページを指定できます。
遷移先画面に設定値を渡したいのであれば、BackingBeanのscopeをSessionScopeにするかフラッシュを利用すれば良いかと思います。

[JavaEE7][JSF2.2]Flash(フラッシュ)を利用した値の受け渡し

JSF フラッシュで検索すれば、もっと情報が有るかと思います。

投稿2015/12/26 08:16

BlueMoon

総合スコア1339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SELECTタグで何かを選択した際に、イベントを発動させたいということでしょうか。
OPTIONでonclickしてしまうと、選択せずイベントが発動してしまうので、
selectタグでonchangeイベントを持たせるのは如何でしょうか。

ご参考

投稿2015/12/26 06:02

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問