想用数据表来实现这个例子:
<h:form id="paymentform">
<h:outputLabel for="contact-last-nafffme"
class="form-label form-label-outside">Amount</h:outputLabel>
<h:inputText type="number" name="usernahhme"
value="#{dashboard.amount}">
</h:inputText>
<h:selectOneMenu id="contact-last-nam4e" class="form-control"
name="lastNameff" valueChangeListener="#{dashboard.calculateProcent}">
<f:selectItem itemValue="highest_buy" itemLabel="Highest Buy" />
</h:selectOneMenu>
<h:commandButton id="buy" value="Put"
action="#{dashboard.calculateProcessing}">
<f:ajax render="@form :firstPanel :inform :intable"
execute="@form :firstPanel :inform :intable" />
</h:commandButton>
</h:form>
<h:panelGroup id="firstPanel">
<h:form id="inform">
<h:dataTable id="intable" value="#{orders.cdList}" var="cd">
<h:column>
<f:facet name="header">Id</f:facet>
<h:outputText value="#{cd.id}" />
</h:column>
</h:dataTable>
</h:form>
</h:panelGroup>
当我提交第一个表格时,什么也没有。仅当我重新加载页面时才会刷新数据表。看起来可以从ajax调用中呈现简单文本时,本教程正在运行。
从ajax调用通过数据库操作重新加载数据的正确方法是什么?第二个表使用ViewScope从另一个bean获取数据。这可能是问题吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的描述,您似乎在尝试使用一个Web应用(可能是基于Java的,比如Spring MVC或PrimeFaces)来动态更新数据表内容,而无需刷新整个页面。这通常通过Ajax调用实现,以异步方式从服务器获取数据并更新DOM元素。以下是一些步骤和建议,帮助您正确地从Ajax调用中重新加载数据表:
确保Ajax请求正确设置:
后端处理逻辑:
Amount
数据,并将其转换为适合前端使用的格式(如JSON)。前端接收和渲染数据:
ViewScope问题:
调试与日志:
异步处理考虑:
@Async
注解),避免阻塞主线程,提高响应速度。综上所述,关键是确保Ajax请求正确发送至服务器,后端正确处理并返回数据,以及前端正确接收并更新DOM。如果问题依旧,提供更具体的错误信息或代码片段将有助于进一步诊断。