当前位置: 首页 > 面试题库 >

JSF动态包含使用Ajax请求

邴英毅
2023-03-14
问题内容

在JSF2中,是否可以使用Ajax请求动态更改ui:include的src值(例如PrimeFacesp:commandButton)?谢谢。

<h:form>                        
    <h:commandLink value="Display 2" action="#{fTRNav.doNav()}">
        <f:setPropertyActionListener target="#{fTRNav.pageName}" value="/disp2.xhtml" />
    </h:commandLink>
</h:form>

<ui:include src="#{fTRNav.pageName}"></ui:include>

那就是我现在所拥有的。是否有可能使它成为Ajax(使用p:commandButton)?


问题答案:

另一个答案中提出的JSTL标签不是必需的,并且不能很好地重用。

这是一个使用纯JSF的基本示例(假设您运行Servlet 3.0 / EL
2.2,否则您确实需要<f:setPropertyActionListener>像在问题中那样使用):

<h:form>
    <f:ajax render=":include">
        <h:commandLink value="page1" action="#{bean.setPage('page1')}" />
        <h:commandLink value="page2" action="#{bean.setPage('page2')}" />
        <h:commandLink value="page3" action="#{bean.setPage('page3')}" />
    </f:ajax>
</h:form>

<h:panelGroup id="include">
    <ui:include src="#{bean.page}.xhtml" />
</h:panelGroup>

private String page;

@PostConstruct
public void init() {
    this.page = "page1"; // Ensure that default is been set.
}

// Getter + setter.


 类似资料:
  • 正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。 这一个工作和组合框被禁用。 但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。 这是行不通的。 因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。 有什么想法吗?谢谢。

  • 问题内容: 我有一张桌子,每一行都有配置为调用js函数的’onclick’-这部分工作。我希望函数向我可以某种方式定义的方法发出ajax请求。返回时,应在表格下方显示一个div。这可能吗?我用以下代码尝试了JS函数: 但这当然行不通。我不知道“源”参数的值(上面的代码使用“此”)应该是什么,我也不知道最后一个参数中的执行值应该设置为什么。我也不知道如何定义要调用的url和“ action”方法。

  • 本文向大家介绍请说明一下JSP中的静态包含和动态包含的有哪些区别?相关面试题,主要包含被问及请说明一下JSP中的静态包含和动态包含的有哪些区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JSP 静态包含是通过JSP的include指令包含页面,动态包含是通过JSP标准动作jsp:forward包含页面。静态包含是编译时包含,如果包含的页面不存在则会产生编译错误,而且两个页面的"conte

  • 问题内容: 我正在使用似乎成功的jQuery 执行-request。但是如何在服务器端使用它并修改响应? 我是否需要另一个Servlet,因为Faces Servlet并非旨在解决这个问题? 它用于以下过程: 用户输入调用JS的地址和点击 JS使用Google地图检索地理数据并将其发送到服务器(我正在考虑将其用于上述代码) 服务器响应从数据库发送一些接近的位置 JS再次使用Google地图检索精确

  • 问题内容: 在处理JSF ajax请求时引发异常时,如何处理异常并访问堆栈跟踪?现在,当JSF项目阶段设置为Development时,我仅在JavaScript警报中获得异常类名称和消息。更糟糕的是,当JSF项目阶段设置为Production时,没有任何视觉反馈,并且服务器日志不显示有关异常的任何信息。 如果相关,那么我在Netbeans中使用GlassFish。 问题答案: OmniFaces

  • 问题内容: 在此代码中,单击“赞”按钮后,数据已添加到数据库中。我现在想做的是添加数据后,我将查询所选项目的总数,并在不加载页面的情况下显示它。 这是我现在的代码: 我的看法: Javascript: 控制器: 模型: 此代码将不会显示total_likes。这是怎么了 问题答案: 毕竟有帮助和研究。这是此问题的运行代码。 在视图中: Javascript: 控制器: 模型: 该代码现在可以完美运