jsfページで、私はui:includeを使用しています。
いるindex.xhtml:jsfをinclude xhtmlのパラメータとして渡す
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
This is from included file.<br/>
#{myBean[greeting]}
</ui:composition>
:
<?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://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>test</title>
</h:head>
<h:body>
<ui:include src="included.xhtml" >
<ui:param name="myBean" value="beanA" />
</ui:include>
</h:body>
</html>
と私は付属のコンテンツは、Beanのメソッド
included.xhtmlを呼び出すことができるようにBean名を渡したいですBeanはできるだけシンプルです
BeanA.java:
package com.test;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class BeanA implements Serializable{
public String getGreeting(){
return "hello from BeanA";
}
}
: JSF 2: how to pass an action including an argument to be invoked to a Facelets sub view (using ui:include and ui:param)? 私は仕事にこれを期待していたが、それはしていません。 「これはインクルードされたファイルからです」テキストが表示されますが、BeanAプロパティは表示されません。誰も私になぜ教えてもらえますか?
最終的に私はインクルードしたいBean名とメソッド名の両方をインクルードしたファイルに渡したいと思っています。しかし、私はこの単純な例が私が期待するように行動することさえできません。
クロサギ科2.2.0、 のApache Tomcat/7.0.55あなたの助けKukeltje & BalusCため
なぜ 'soulあなたが明示的に参照するリンクがELをparam値( '#{beanA'})で使用していますか?そしてどこにもエラーはないと確信していますか? (たとえば、どこかにh:メッセージを含めたり、開発モードでアプリを実行している場合など) –
Kukeltje
Kukeltje: を試しましたが、うまくいかなかった。 は出力しません。 tomcatエラーログにもエラー出力はありません。 –
rgh
変数 '#{greeting}'はどこで定義しましたか?そのようなものがなく、それがプロパティ名であるならば、あなたは '#{myBean.greeting}'を使うべきです。 – BalusC