【问题标题】:Load exteral JSF page加载外部 JSF 页面
【发布时间】:2023-04-09 21:47:01
【问题描述】:

我有一个 Web 应用程序,我会动态加载外部 JSF 文件,例如,通过页面上的表单。

是否可以将 JSF 页面加载为字符串(WAR 外部的文件)并将其传递给 Face Servlet 进行解释?

【问题讨论】:

    标签: java jsf-2 javabeans


    【解决方案1】:

    我不知道您对“动态加载外部 JSF 文件”的确切含义。 如果你想通过 ajax 用 sn-ps 替换部分视图,你存储在单独的文件中,你可以这样做:

    <h:commandButton value="click me">
        <f:ajax render="panel" listener="#{bean.actionListener}" />
    </h:commandButton>
    
    <h:panelGroup id="panel">
        <h:panelGroup rendered="#{bean.condition}">
            <ui:include src="snippet.xhtml" />
        </h:panelGroup>
        <h:panelGroup rendered="#{bean.anotherCondition}">
            <ui:include src="snippet2.xhtml" />
        </h:panelGroup>
    </h:panelGroup>
    

    进行 ajax 调用并重新呈现 panelGroup。在此 panelGroup 中,您可以根据某些条件呈现文件。

    更新:讨论了herehere 如何通过ResourceResolver 加载外部Facelets。

    【讨论】:

    • 好的,我想我没有准确解释这一点。我想在我的网络应用程序中加载一个 JSF 页面,该页面放置在服务器上的某个目录中,例如 C:\myPages\myfile.xhtml 下的 emaple。这可能吗?
    • 对不起,我误会你了。这可以通过自定义ResourceResolver 来完成。通常你会从类路径加载文件,但你可以尝试不同的方式。见this question
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    相关资源
    最近更新 更多