如何ajax jsf 2输出链接

发布于 2024-12-09 06:55:52 字数 589 浏览 1 评论 0原文

我想制作一个可以在ajax上运行的网页(一切ajax)。我的意思是..每当您单击链接(我指的是 < h:outputLink ...> )来使用另一个链接中的数据更改某个 div 时。

例如:

<h:outputLink value="/page.jsf" onclick="myfunction(this); return false;">
    My page
</h:outputLink>

page.jsf是一个普通的jsf页面...使用页面layout.xhtml显示,例如:

<ui:composition template="/layout.xhtml">
    <ui:define name="main">
         //my content here
    </ui:define>
</ui:composition>

这可能吗? 使用 servlet 仅从特定 jsf 获取片段是否可能?

我的最后一个解决方案是使用 jquery.load 函数...

问候

I want to make a webpage that is working on ajax(everything ajax). I mean.. whenever you click a link(I refer to < h:outputLink ...> ) to change a certain div using data from another link.

For example:

<h:outputLink value="/page.jsf" onclick="myfunction(this); return false;">
    My page
</h:outputLink>

page.jsf is a normal jsf page... displayed using a page layout.xhtml like:

<ui:composition template="/layout.xhtml">
    <ui:define name="main">
         //my content here
    </ui:define>
</ui:composition>

Is this possible?
Is this possible, using a servlet to take only fragments from a specific jsf?

My last solution is to use jquery.load function...

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哎呦我呸! 2024-12-16 06:55:52

无法进行 ajaxified。所有 JSF2 ajax 请求都是符合规范的 POST 请求。您需要一个带有

您可以使用以下构造:

<h:form>
    <f:ajax render=":include">
        <h:commandLink value="Home" action="#{menuManager.setPage('home')}" /><br />
        <h:commandLink value="FAQ" action="#{menuManager.setPage('faq')}" /><br />
        <h:commandLink value="Contact" action="#{menuManager.setPage('contact')}" /><br />
    </f:ajax>
</h:form>
<h:panelGroup id="include">
    <ui:include src="#{menuManager.page}.xhtml" />
</h:panelGroup>

<h:link> and <h:outputLink> cannot be ajaxified. All JSF2 ajax requests are per specification POST requests. You need a <h:form> with a <h:commandLink>.

You could use the following construct:

<h:form>
    <f:ajax render=":include">
        <h:commandLink value="Home" action="#{menuManager.setPage('home')}" /><br />
        <h:commandLink value="FAQ" action="#{menuManager.setPage('faq')}" /><br />
        <h:commandLink value="Contact" action="#{menuManager.setPage('contact')}" /><br />
    </f:ajax>
</h:form>
<h:panelGroup id="include">
    <ui:include src="#{menuManager.page}.xhtml" />
</h:panelGroup>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文