実現したいこと
JSFページのcommandButtonのactionに設定したメソッドに対して引数を設定して、
バッキングビーンを呼び出したいのですが、うまく実現できません。
該当のソースコード
①Sample.xhtml
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core"> <h:head> <title>Sample</title> </h:head> <h:body> <h:form prependId="false"> <h:inputText id="input"/> <h:commandButton action="#{scriptNextBb.next(input)}" value="画面遷移"/> </h:form> </h:body> </html>
②ScriptNextBb.java
package javascript; import javax.enterprise.context.RequestScoped; import javax.inject.Named; @Named @RequestScoped public class ScriptNextBb { private String tmpValue; public String getTmpValue() { return tmpValue; } public void setTmpValue(String tmpValue) { this.tmpValue = tmpValue; } public String next(String input) { this.tmpValue = input; return "other.xhtml"; } }
③other.xhtml
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:head> <title>JavaScript</title> </h:head> <h:body> <h:form prependId="false"> コード(前画面の設定値) <h:outputText id="outputValue" value="#{scriptNextBb.tmpValue}" /> <br/> </h:form> </h:body> </html>
Sample.xhtmlで設定した値をother.xhtmlのoutputValueで表示させたいのですが、
遷移はできますが、値が表示できません。
今回知りたい内容としては、JSFページからバッキングビーンのメソッドを呼び出す際に、
どうすれば引数を設定できるのか?ということです。
上記サンプルでは以下のようにしていますが、期待通りに動作しません。
<h:inputText id="input"/> <h:commandButton action="#{scriptNextBb.next(input)}" value="画面遷移"/>
よろしくお願いいたします。
あなたの回答
tips
プレビュー