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

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

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

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

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Q&A

解決済

2回答

6289閲覧

クリックしてもメソッドが実行されない

anonyrabbit

総合スコア78

JSF

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

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

0グッド

0クリップ

投稿2017/01/01 10:56

データテーブルの検索機能を実装したいのですが、肝心のfilterTable()メソッドが動かず、filtered-table.xhtmlへと移動できません。メソッドにsystem.out.printを書いたのですがサーバログにも変化がないです。なぜだかお分かりになる方がいたら回答の方よろいくお願いします。

テンプレート機能を利用しています。

xhtml

1 <h:body> 2 <ui:composition> 3 <link rel="stylesheet" type="text/css" href="resources/css/find.css" /> 4 <h:outputStylesheet library="css" name="find.css" /> 5 6 7 8 <h:form> 9 <br/> 10 <p:inputText id="globalFilter" value="#{bb.search}" style="width:150px" placeholder="Enter keyword"/> 11 12 <h:commandButton value="検索" action="#{bb.filterTable()}" class="Button"/> 13 <br/> 14 <br/> <br/> 15 <br/> <br/> 16 </h:form> 17 18 <p:dataTable id="examplej" class="table table-striped table-bordered dt-responsive nowrap table-hover" 19 var="info" value="#{bb.coupleList}" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 20 rowsPerPageTemplate="5,10,15" paginator="true" emptyMessage="お探しの地域では見つかりませんでした"> 21 <f:facet name="header"> 22 <p:outputPanel> 23 <h:outputText value="Search all fields:" /> 24 </p:outputPanel> 25 26 </f:facet> 27 28 <p:column> 29 <p:graphicImage value="#{bb.pic}" > 30 <f:param name="id" value="#{info.id}"/> 31 </p:graphicImage> 32 </p:column> 33 34 <p:column> 35 <h:outputText value="#{info.addressOne}" /> 36 </p:column> 37 38 39 <p:column> 40 <h:outputText value="#{info.firstName}" />さん 41 </p:column> 42 43 44 45 <p:column> 46 <h:commandLink action="#{bb.detail(info)}"> 47 詳細へ 48 </h:commandLink> 49 </p:column> 50 51 52 </p:dataTable> 53 54 55 </ui:composition> 56 57 </h:body>

Java

1 public String filterTable() { 2 System.out.println("filterTable()"); 3 Flash flash = FacesContext.getCurrentInstance() 4 .getExternalContext().getFlash(); 5 flash.put("search", this.search); 6 return "filtered-table.xhtml"; 7 }

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

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

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

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

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

guest

回答2

0

ベストアンサー

確信は無いのですが、stylesheetタグ(link,h:outputStylesheet)はh:headタグ内に書くのが通例なので少し怪しい気がします。あとはClass名が正しいか(Class Bb)、CDIBeanのインスタンス化を失敗しているか等考えられますが、デプロイ時やページアクセス時のログ内容にヒントが有るかも知れません。

これも思い付きになりますが、templateを利用されているのでh:bodyタグ内にcss定義を記載されているのかと思います。別途作成したページに、CSS定義をheadタグ内、h:formとp:datatableをbodyタグ内に配置して元のページ内にui:includeで読み込みされてはどうでしょうか。

投稿2017/01/01 11:17

編集2017/01/04 11:37
BlueMoon

総合スコア1339

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

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

0

<f:facet name="header">

</f:facet>

の中にメソッドを配置することで解決。

投稿2017/01/04 12:26

anonyrabbit

総合スコア78

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問