gpt4 book ai didi

javascript - 带有 Jsf 1.1 实现的 Ajax

转载 作者:行者123 更新时间:2023-11-29 16:17:26 25 4
gpt4 key购买 nike

我在其中使用 JSF1.1,我想从第一个更新第二个 selectOneMenu 并拥有此代码_

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://www.azureworlds.org" prefix="azure"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="x"%>
<%@ taglib uri="http://www.asifqamar.com/jsf/asif" prefix="a"%>

...

<h:outputText value="State* " />
<x:selectOneMenu value="#{hotelBean.state}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem value="#{hotelBean.mapStates }" />
<x:ajax update="city" listener="#{hotelBean.handleCityChange}" />

</x:selectOneMenu>

<h:outputText value="City* " />
<x:selectOneMenu id="city" value="#{hotelBean.city}">

<f:selectItem itemLabel="Select One" itemValue="" />

<f:selectItem value="#{hotelBean.mapCities }" />
</x:selectOneMenu>

x:ajax update="city"listener="#{hotelBean.handleCityChange}"不工作,我搜索但发现 JSF1.1 不支持 Ajax。

那我该怎么做呢,我该如何使用 javascript?而且我对 JS 的了解较少。谢谢

最佳答案

根据Tomahawk 1.1 tag documentation , 没有 <t:ajax>根本没有标记(是的,我知道您出于某些不明确的原因将 t 前缀重命名为 x,为了保持一致性,我将继续称它为 t)。

以前,在 JSF 1.1 时代,人们会为此使用 Ajax4jsf taglib,这仍然是一个单独的项目,可在 http://ajax4jsf.dev.java.net 获得。 . JSF 没有其他像样的 Ajax 库。我依稀记得 Dojo 上的一些库是 this IBM article 的盗版,但它不受欢迎。后来,在 JSF 1.2 时代初期,Ajax4jsf 被 JBoss RichFaces 收购。并作为其子库收录。从那时起,您就不能再从官方站点单独下载 Ajax4jsf,您必须同时下载整个 RichFaces 组件库。

但是,在 Maven 存档的某个深处,您仍然可以下载原始的 Ajax4jsf 库。这是:Ajax4jsf 1.0.6 .原始的 java.net 站点已关闭,因此原始的开发人员指南也不再可用。然而,Google显示有一个网站有 online backup of the original Ajax4jsf developer guide (网站速度很慢;下载完成后,我会创建一个离线副本,以便更快地引用,也可以防止它出现故障)。此外还有一个 JavaWorld article了解如何设置和使用它(结合 MyFaces)。

最终,您希望最终使用 <a4j:support>像这样的东西:

<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
...
<h:outputLabel for="state" value="State* " />
<t:selectOneMenu id="state" value="#{hotelBean.state}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem value="#{hotelBean.mapStates }" />
<a4j:support event="onchange" actionListener="#{hotelBean.handleCityChange}" reRender="city" />
</t:selectOneMenu>
<h:outputLabel for="city" value="City* " />
<t:selectOneMenu id="city" value="#{hotelBean.city}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem value="#{hotelBean.mapCities }" />
</t:selectOneMenu>

关于javascript - 带有 Jsf 1.1 实现的 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com