Primefaces と PrettyFaces で書かれたデスクトップ アプリケーションが動作しています。モバイルに含めるために、フォーラムで提案されているソリューションに従いました。
私の要件は、多くのページの 1 つにあります。特定のページ (画面) をモバイル専用に公開したいと考えています。段階的なアプローチで、残りのページは後で移行されます。
prettyfaces 設定ファイルで、
<url-mapping id="home">
<pattern value="/home" />
<action>#{homeBean.renderView}</action>
<view-id>/xhtml/home/home.xhtml</view-id>
</url-mapping>
そしてHomeBeanでは、
public String renderView(){
String renderKitId = FacesContext.getCurrentInstance().getViewRoot().getRenderKitId();
System.out.println("renderKitId:::"+renderKitId);
if(renderKitId.equalsIgnoreCase("PRIMEFACES_MOBILE")){
return "/mobile_xhtml/home/home.xhtml";
}else{
return "/xhtml/home/home.xhtml";
}
}
これは、モバイルとデスクトップで適切にレンダリングされています。
しかし、他のリンクをクリックすると、ページは送信されず、ホームページのみがレンダリングされます。
私の質問は
他のリンクが機能しないのはなぜですか?
特定の画面と残りの画面のモバイル ページを基本的な HTML としてシームレスにレンダリングするにはどうすればよいですか?
問題の説明が明確だったことを願っています。
ありがとう!