JSF 2.0 サーブレットの作成方法とポートレットの作成方法は知っていますが、両方のテクノロジーを組み合わせるには問題があります。を介してバッキング Bean のメソッドを呼び出さなければならないまで、私の JSF ポートレットは正常に動作します<h:commandLink />
。これらのリンクをクリックすると、現在のページがリロードされ、メソッドは呼び出されません。私のアプリケーションには追加の設定が必要だと思います。このようなコマンド リンクを機能させるには、次のことを行う必要があります。
<h:commandLink action="#{backingBean.doSomething}" />
JSF 2.0 ポートレット ブリッジを提供する WebSphere 8 ポータル サーバーを使用していることに注意してください。
編集
ここに基本的な競合があります。
- ポートレット API は URL の生成を担当します - 有効なポータル URL を生成します
- JSF は URL の生成を担当します - 有効な JSF-URL を生成します
マネージド Bean は、アノテーションを使用して構成されます。
@ManagedBean(name = "backingBean")
@ViewScoped
public class entryEditController
{
public String doSomething()
{
return "result.xhtml";
}
}
これは私のfaces-config.xmlです
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<application>
<view-handler>com.ibm.faces20.portlet.FaceletPortletViewHandler</view-handler>
<el-resolver>com.ibm.faces20.portlet.PortletELResolver</el-resolver>
<resource-handler>com.ibm.faces20.portlet.httpbridge.PortletResourceHandler</resource-handler>
</application>
</faces-config>